PHP获取文件内容
问题描述:
我得到一个错误,我无法弄清楚,我正在做的是我有一个字符串或一堆网址,我把它们放入一个数组,然后循环数组并调整和上传图像,但我得到这个错误。任何帮助将非常感谢!PHP获取文件内容
错误
file_get_contents(http://a513.phobos.apple.com/us/r1000/094/Purple/v4/d4/e4/02/d4e402a3-a485-4d4c-cf9b-90b0af391626/mzl.wbbwbbab.png)
[function.file-get-contents]: failed to open stream: HTTP request failed!
HTTP/1.0 400 Bad Request in "My File" on line 53
PHP
include("picture-resize.php");
$image = $_POST['thumbnail'];
$slug = $_POST['slug'];
$images = $_POST['screenshots'];
$list = explode(",", $images);
$listlength = count($list);
$i = 0;
$image = $_POST['thumbnail'];
$path = parse_url($image, PHP_URL_PATH);
$filename = $slug.'-'.$i;
$extension = pathinfo($path, PATHINFO_EXTENSION);
$file = $filename.'.'.$extension;
file_put_contents('../tmp/' . $file, file_get_contents($image));
$picture = new pic_resize();
$picture->load('../tmp/'.$file);
$picture->resizeToWidth(125);
$picture->save('../images/125x125/'.$file, $picture->image_type);
unlink('../tmp/'.$file);
$thumbnail = $file;
$new_list = array();
while($listlength > $i) {
$path = parse_url($list[$i], PHP_URL_PATH);
$extension = pathinfo($path, PATHINFO_EXTENSION);
$file = $filename.'.'.$extension;
file_put_contents('../tmp/' . $file, file_get_contents($list[$i]));
$picture = new pic_resize();
$picture->load('../tmp/'.$file);
$picture->resizeToWidth(640);
$picture->save('../images/640x320/'.$file, $picture->image_type);
$picture->resizeToWidth(310);
$picture->save('../images/310x205/'.$file, $picture->image_type);
unlink('../tmp/'.$file);
array_push($new_list, $file);
$i++;
}
$screenshots = implode($new_list, ',');
答
$a = file_get_contents("http://a513.phobos.apple.com/us/r1000/094/Purple/v4/d4/e4/02/d4e402a3-a485-4d4c-cf9b-90b0af391626/mzl.wbbwbbab.png");
echo strlen($a);
对我的作品好。它可能会导致您的环境出错(防火墙,wiruses,ISP修改HTTP请求等)。尝试粘贴在浏览器中点击此链接:
http://a513.phobos.apple.com/us/r1000/094/Purple/v4/d4/e4/02/d4e402a3-a485-4d4c-cf9b-90b0af391626/mzl.wbbwbbab.png
你看到的图像或错误?您可以尝试使用其他工具下载映像,例如在unix ot php cUrl上的wget
命令。请注意,这不是代码错误 - 这是我的服务器响应与HTTP代码400 - 错误的请求,所以你连接到图像服务器,但由file_get_contents
产生的HTTP GET请求无效。