2

我正在使用来自http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/的 SimpleImage.php 类来调整、压缩和保存图像。

通常将它与来自输入的图像一起使用:

$tmp_dir = $_FILES['file']['tmp_name'];
$file_name = 'something.jpg'; 

include('SimpleImage.php');
$image = new SimpleImage();
$image->load($tmp_dir);

$image->resizeToWidth($width);
$image->save('imgd/l'.$file_name);

但是我怎么能只处理图片网址呢?(来自另一个网站)

$img = file_get_contents($url);

上述$img变量保留实际图像。那么如何将其保存到 temp 以使用它呢?如果这是正确的方法。

如果有可能不必更改 SimpleImage.php 类。

4

1 回答 1

4

使用tempnam()

在指定目录中创建具有唯一文件名的文件,访问权限设置为 0600。如果该目录不存在, tempnam() 可能会在系统的临时目录中生成一个文件,并返回该文件的名称。

<?php 
$tmpfname = tempnam("/tmp", "UL_IMAGE");
$img = file_get_contents($url);
file_put_contents($tmpfname, $img);

include('SimpleImage.php');
$image = new SimpleImage();
$image->load($tmpfname);

$image->resizeToWidth($width);
$image->save('imgd/l'.$file_name);
?>
于 2012-11-19T18:36:29.377 回答