上传互联网图片,就像在本地计算机上一样

时间:2014-09-04 08:00:37

标签: php codeigniter

有没有办法告诉php处理远程图片,例如:http://pic.jpg作为通过上传表单上传的普通文件,并将其保存在$_FILES

array (size=5)
   'name' => string 'pic.jpg' (length=18)
   'type' => string 'image/jpeg' (length=10)
   'tmp_name' => string 'C:\Program Files\wamp\tmp\php3018.tmp' (length=37)
   'error' => int 0
   'size' => int 879394

我需要将远程图片作为本地图片处理,以便我可以通过Codeigniters上传库运行它,它会调整大小并存储它。

3 个答案:

答案 0 :(得分:1)

获取文件的内容,放入文件的内容(如果需要)并使用该文件路径..

$pic = file_get_contents('http://pic.jpg');
file_put_contents('/path/to/save/pic.jpg',$pic);

或者如果您不想保存图片,请使用imagecreatefromstring()

$pic = file_get_contents('http://pic.jpg');
$image = imagecreatefromstring($pic);

我很确定codeigniters上传类没有做任何图像处理..

答案 1 :(得分:0)

如果你先用php下载它会怎么样:

    copy('http://anything.com/image.jpg', 'yourdrive/folder/anyname.jpg');

*您必须将allow_url_fopen设置为true

然后你可以用你想要的任何方式处理它。

答案 2 :(得分:0)

$imageUrl = "http://anything.com/image.jpg";
$contents = file_get_contents(trim($imageUrl));
file_put_contents('/path/to/save/', $contents);