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);

しかし、どうすれば画像のURLだけを処理できますか?(別のウェブサイトから)

$img = file_get_contents($url);

上記の$img変数は実際の画像を保持します。それで、どうすればそれを一時的に使用するために保存できますか?これが正しい方法である場合。

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 に答える