PHP copy()创建一个空图像文件

时间:2012-02-20 17:10:35

标签: php image copy

我的服务器上的目录中有一个图像,并希望将其复制到另一个目录。

所以我正在使用

$post_picture = 'http://mysite.com/image.jpg';

copy($post_picture, 
         'images/pictures/post/thumb/' . 
         $info['filename'] . 
         '_thumb.' . 
         $info['extension']);

问题是实际上在我的thumb目录中创建了一个文件,但该图像为空(0 x 0像素)。我没有错。

知道发生了什么事吗?

所有目录的权限为755,原始图像和复制图像均为644.原始节目通常在浏览器上显示。

感谢。

5 个答案:

答案 0 :(得分:3)

你有什么形式的热链接保护可以改变php收到的内容吗? 是否允许allow_url_fopen?

答案 1 :(得分:1)

$post_picture变量应该可能具有文件的文件系统路径,而不是文件的URL。

答案 2 :(得分:0)

你的php.ini中allow_url_fopen是否设置为true?

如果远程连接被阻止,有时会产生此结果。

答案 3 :(得分:0)

$ post_picture应该是我认为的本地路径

copy( '/path/image.jpg', ... );

答案 4 :(得分:0)

请使用这个......

<?php
$source = 'f-1/2.jpg';
$destination = 'f-2/2.jpg';

$data = file_get_contents($source);

$handle = fopen($destination, "w");
fwrite($handle, $data);
fclose($handle);
?>