1

我正在尝试使用 php 将文件从 url 复制到系统中的文件夹

<?php $image = "http://l.yimg.com/t/frontpage/10-facts-slideshow-080512-630-01.jpg";
if (!copy($image, "localfolder/mainPic1.png")) {
echo "FAILED";
}else{echo "DONE";}

它总是以“失败”告终

  • 所有权限都设置为本地文件夹

  • 我检查了phpinfo,发现 allow_url_fopen =Off

因为它是共享服务器,所以我无法控制 php 设置。请你建议一个替代方案。

谢谢,杰

4

2 回答 2

1

如果allow_url_fopen关闭并且您无法启用它,则需要使用 curl 检索文件并将其保存在本地。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://l.yimg.com/t/frontpage/10-facts-slideshow-080512-630-01.jpg");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$imgdata = curl_exec($ch);

// Save to disk
file_put_contents("localfolder/mainPic1.png", $imgdata);
于 2012-05-09T02:55:33.403 回答
0

是的,allow_url_fopen必须ON为此。

allow_url_fopen = On

即使您被允许php.ini在共享服务器上进行修改。创建一个php.ini并将值保存allow_url_fopen = On在根文件夹中。它通常会覆盖默认设置。

于 2012-05-09T03:05:28.173 回答