PHP从URL复制图像到服务器并回显最终的URL。

13 浏览
0 Comments

PHP从URL复制图像到服务器并回显最终的URL。

我正在尝试编写一段代码,将一个图片从URL复制到我的服务器上的相对路径,并用一个随机的文件名回显最终的URL。

我有两个问题:

  1. 相对路径无法正常工作。如果我不声明路径,这个函数可以工作,但是图片会保存在PHP文件所在的文件夹中。如果我指定文件夹,不会返回任何错误,但是我在服务器上看不到图片。
  2. echo函数总是返回一个空字符串。

我是一个客户端程序员,所以PHP不是我的专长...我会感激任何帮助。

以下是代码:


编辑:

以下是修复后的代码,如果有人感兴趣:


0
0 Comments

问题出现的原因是在函数内部使用了一个局部变量$newUrl,并且在函数外部无法访问到这个变量的值。另外,在第3行中的语句$newUrl;没有任何意义。

解决这个问题的方法是使用file_get_contents或curl来下载文件,并且将函数内部的$newUrl变量改为全局变量,以便在函数外部可以访问到它的值。以下是修改后的代码示例:


这样,就可以通过调用copyImage函数复制图片并将最终的URL输出到页面上了。

0
0 Comments

问题出现的原因是需要将一个图片从URL复制到服务器,并打印出最终的URL。解决方法有两种:

1. 使用copy()函数将图片从URL直接复制到服务器上:

copy('http://www.google.co.in/intl/en_com/images/srpr/logo1w.png', '/tmp/file.jpeg');

2. 使用file_get_contents()函数获取图片的内容,然后使用fwrite()函数将内容写入服务器上的文件中:

$content = file_get_contents("http://www.google.co.in/intl/en_com/images/srpr/logo1w.png");
$fp = fopen("/location/to/save/image.jpg", "w");
fwrite($fp, $content);
fclose($fp);

无论使用哪种方法,最终都能将图片从URL复制到服务器上,并打印出最终的URL。

0