function GrabImage($url,$filename) {
if($url==""||$filename==""):return false;
endif;
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
我用了这样的一个方法,但有时候会出现两个问题:
1、图片文件下了一半,图像损坏
2、之前已经下载过的图片,再次下载不是覆盖,而是追加内容(原本7K的图片,再次写入就是14K了,但图片照样能看)(我的文件名也不能做成随机的,得固定,因为和访问路径有关联)。
请问PHP有没有什么更好的办法处理这种问题?
有没有其他方法来存图片。
if($url==""||$filename==""):return false;
endif;
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
我用了这样的一个方法,但有时候会出现两个问题:
1、图片文件下了一半,图像损坏
2、之前已经下载过的图片,再次下载不是覆盖,而是追加内容(原本7K的图片,再次写入就是14K了,但图片照样能看)(我的文件名也不能做成随机的,得固定,因为和访问路径有关联)。
请问PHP有没有什么更好的办法处理这种问题?
有没有其他方法来存图片。