PHP将图像从url复制到服务器并回显最终url
我正在尝试编写一个代码,用一个随机文件名将图像从URL复制到服务器上的相对路径,并回显最终URL。 我有两个问题: 它不适用于相对路径。如果我没有声明路径,那么函数可以工作,但是图像保存在PHP文件的同一文件夹中。如果我指定了文件夹,它不会返回任何错误,但我在服务器上看不到图像。 echo函数始终返回空字符串。 我是一个客户端程序员,所以PHP不是我的东西。。。我将感谢任何帮助 代码如下:PHP将图像从url复制到服务器并回显最终url,php,copy,echo,Php,Copy,Echo,我正在尝试编写一个代码,用一个随机文件名将图像从URL复制到服务器上的相对路径,并回显最终URL。 我有两个问题: 它不适用于相对路径。如果我没有声明路径,那么函数可以工作,但是图像保存在PHP文件的同一文件夹中。如果我指定了文件夹,它不会返回任何错误,但我在服务器上看不到图像。 echo函数始终返回空字符串。 我是一个客户端程序员,所以PHP不是我的东西。。。我将感谢任何帮助 代码如下: <?php $url = $_POST['url']; $dir = 'facebook/'; $
<?php
$url = $_POST['url'];
$dir = 'facebook/';
$newUrl;
copy($url, $dir . get_file_name($url));
echo $dir . $newUrl;
function get_file_name($copyurl) {
$ext = pathinfo($copyurl, PATHINFO_EXTENSION);
$newName = substr(md5(rand()), 0, 10) . '.' . $ext;
$newUrl = $newName;
return $newName;
}
编辑:
如果有人感兴趣,以下是固定代码:
<?php
$url = $_POST['url'];
$dir = 'facebook/';
$newUrl = "";
$newUrl = $dir . generate_file_name($url);
$content = file_get_contents($url);
$fp = fopen($newUrl, "w");
fwrite($fp, $content);
fclose($fp);
echo $newUrl;
function generate_file_name($copyurl) {
$ext = pathinfo($copyurl, PATHINFO_EXTENSION);
$newName = substr(md5(rand()), 0, 10) . '.' . $ext;
return $newName;
}
任用
copy('http://www.google.co.in/intl/en_com/images/srpr/logo1w.png', '/tmp/file.jpeg');
或
任用
copy('http://www.google.co.in/intl/en_com/images/srpr/logo1w.png', '/tmp/file.jpeg');
或
您应该使用file\u get\u contents或curl来下载文件。还要注意的是,函数中的$newUrl是本地的,并且这个赋值不会改变全局$newUrl变量的值,所以在函数外部看不到它。以及$newUrl语句;第三行没有任何意义 您应该使用file\u get\u contents或curl来下载文件。还要注意的是,函数中的$newUrl是本地的,并且这个赋值不会改变全局$newUrl变量的值,所以在函数外部看不到它。以及$newUrl语句;第三行没有任何意义