2

スクリプトがあります。

        $fileName = $_FILES['userfile']['name'];
        $tmpName = $_FILES['userfile']['tmp_name'];
        $fileSize = $_FILES['userfile']['size'];
        $fileType = $_FILES['userfile']['type'];

        // get the file extension first
        $ext = substr(strrchr($fileName, "."), 1); 

        // make the random file name
        $randName = md5(rand() * time());

        // and now we have the unique file name for the upload file
        $filePath = $imagesDir . $randName . '.' . $ext;

        $result = move_uploaded_file($tmpName, $filePath);
        if (!$result) {
            echo "Error uploading file";
        exit;
    } 

if(!get_magic_quotes_gpc()) {

        $fileName = addslashes($fileName);
        $filePath = addslashes($filePath);

    }

これは画像のアップロードに使用していますが、アップロードする前に画像のサイズを特定のサイズに変更するスクリプトを追加したいと思います。それ、どうやったら出来るの???

4

2 に答える 2

4

編集:スクリプト要素を含めるようにこれを更新しました。私はあなたがあなたのファイル名を入手したところから始めています。

これを行うための非常に迅速で簡単なスクリプトを次に示します。

$result = move_uploaded_file($tmpName, $filePath);
$orig_image = imagecreatefromjpeg($filePath);
$image_info = getimagesize($filePath); 
$width_orig  = $image_info[0]; // current width as found in image file
$height_orig = $image_info[1]; // current height as found in image file
$width = 1024; // new image width
$height = 768; // new image height
$destination_image = imagecreatetruecolor($width, $height);
imagecopyresampled($destination_image, $orig_image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// This will just copy the new image over the original at the same filePath.
imagejpeg($destination_image, $filePath, 100);
于 2012-04-13T10:34:35.233 に答える
0

アップロードする前にサイズを変更することはできませんが、サーバーに配置した後でGDライブラリを使用してサイズを変更することはできます。画像を処理するためのすべての関連関数については、GDおよび画像関数のリストを確認してください。

サイズ変更を行うためのカスタムクラスを示すこのチュートリアルもありますが、全体が必要でない限り、関数のサイズ変更に焦点を当てて、それがどのように行われるかを確認できます。

于 2012-04-12T20:10:44.417 に答える