我正在尝试编写一个代码,它将图像从 URL 复制到我的服务器上具有随机文件名的相对路径,并回显最终的 url。我有两个问题:
- 它不适用于相对路径。如果我不声明路径,则该函数可以工作,但图像将保存在 PHP 文件的同一文件夹中。如果我确实指定了文件夹,它不会返回任何错误,但我在我的服务器上看不到图像。
- echo 函数总是返回一个空字符串。
我是一名客户端程序员,所以 PHP 不是我的菜……我将不胜感激。
这是代码:
<?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;
}