PHP copy()创建一个空图像文件
我的服务器上的一个目录中有一个映像,希望将其复制到另一个目录 所以我用PHP copy()创建一个空图像文件,php,image,copy,Php,Image,Copy,我的服务器上的一个目录中有一个映像,希望将其复制到另一个目录 所以我用 $post_picture = 'http://mysite.com/image.jpg'; copy($post_picture, 'images/pictures/post/thumb/' . $info['filename'] . '_thumb.' . $info['extension']); 问题是,实际上在我的thumb目录中创建
$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。原始文件通常在浏览器上显示
谢谢。变量
$post\u picture
应该具有指向文件的文件系统路径,而不是指向文件的URL。变量$post\u picture
可能具有指向文件的文件系统路径,而不是文件的URL。您有任何形式的热链接保护可以改变php接收的内容吗?
允许使用allow\u url\u fopen吗?您是否有任何形式的热链接保护可以改变php接收的内容?
允许使用allow\u url\u fopen吗?在php.ini中是否将allow\u url\u fopen设置为true
如果远程连接被阻止,有时会产生这种结果。在php.ini中允许url\u fopen设置为true吗
如果远程连接被阻塞,有时会产生这种结果。$post\u图片应该是本地路径,我相信
copy( '/path/image.jpg', ... );
$post_图片应该是本地路径,我相信
copy( '/path/image.jpg', ... );
请用这个
<?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);
?>
请用这个
<?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);
?>
它是一个空文件,还是一个0x0像素的图像?为什么要使用图像URL而不是其正常路径?这不是你服务器上的图像吗?PHP是否能够获取url(请参阅allow_url_fopen选项)?allow_url_fopen处于启用状态(本地和主)@kavisiegel该图像为41KB,但0x0lorenzo-s该图像位于我的服务器上,但复制允许url它是空文件还是0x0像素图像?为什么使用图像url而不是其正常路径?这不是你服务器上的图像吗?PHP是否能够获取url(请参阅允许url打开选项)?允许url打开(本地和主)@kavisiegel该图像为41KB,但0x0lorenzo-s该图像位于我的服务器上,但复制允许urlcopy()
支持url。我们不知道图像是否从同一台服务器获取。在问题评论中看到我的问题。你是对的,的确如此。当我快速查看php手册页面时,没有看到它。copy()
支持URL。我们不知道图像是否从同一台服务器获取。在问题评论中看到我的问题。你是对的,的确如此。当我快速查看php手册页面时,没有看到它。看起来,copy()
由于.htaccess中的重定向而失败了-我曾经评论说文件显示正常-感谢您指出这一点-我现在使用完整的系统路径而不是URL,它甚至可以与重定向一起工作看起来像copy()
由于.htaccess中的重定向而失败-我曾经评论过文件显示正常-感谢您指出这一点-我现在使用的是完整系统路径而不是URL,它甚至可以与重定向一起工作