1

ローカルにuploadという名前のフォルダーに保存されている画像をアップロードするページを作成しました。リストとしても作成しましたが、サムネイルとして(固定ピクセルで)作成するにはどうすればよいですか?独自のサイズのピクセル (大きいものと小さいもの) で表示しただけでどうなりますか。

以下のように私のコード:

<?php
// open this directory 
$myDirectory = opendir("upload");

// get each entry
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName;
}

// close directory
closedir($myDirectory);

//count elements in array
$indexCount = count($dirArray);
?>      

<ul>
<?php
// loop through the array of files and print them all in a list
for($index=0; $index < $indexCount; $index++) {
$extension = substr($dirArray[$index], -3);
if ($extension == 'jpg'){ // list only jpgs
echo '<li><img src="upload/' . $dirArray[$index] . '" alt="Image" /><span>' . $dirArray[$index] . '</span>';
        }   
    }
?>
</ul>
4

3 に答える 3

3

これを機能させるには、画像関数のGDライブラリを使用して PHP をコンパイルする必要があります。 php.iniの;前を削除するだけですextension=php_gd.dll

ここPHPとgdでサムネイルを作成する方法は、よく説明された優れたチュートリアルです

于 2012-09-15T17:49:40.420 に答える
1

class.upload.phpPHPで画像を操作するための素晴らしいクラスであると呼ばれるクラスがあります:

http://www.verot.net/php_class_upload_samples.htm

多くのオプションで必要なもののようなサムネイルを作成するだけでなく、画像に対して他の何十もの操作を行うこともできます.

サムネイルの作成方法を知りたい場合は、次のリンクを参照してください。

http://davidwalsh.name/create-image-thumbnail-php

しかし、Web ページの作成で使用する場合はclass.upload.php、コアに含めて使用するのが良い選択です...

于 2012-09-15T18:02:37.673 に答える
0

画像のサイズを変更するための簡単なコード..任意の高さ/幅を使用できます。たとえば、サムネイルの場合は 150x150 に設定します...

function getExtension($str) {

             $i = strrpos($str,".");
             if (!$i) { return ""; } 

             $l = strlen($str) - $i;
             $ext = substr($str,$i+1,$l);
             return $ext;
     }
            $extension = getExtension($filename);
            $extension = strtolower($extension);
            if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) {
            echo ' Unknown Image extension ';
            $errors=1;
            }
            if($extension=="jpg" || $extension=="jpeg" ){
            $uploadedfile = $_FILES['form_file']['tmp_name'];
            $src = imagecreatefromjpeg($uploadedfile);
    }
    else if($extension=="png")
    {
    $uploadedfile = $_FILES['form_file']['tmp_name'];
    $src = imagecreatefrompng($uploadedfile);
    }
    else 
    {
    $src = imagecreatefromgif($uploadedfile);
    }
            list($width,$height)=getimagesize($uploadedfile);
            // Set Height and Width Here
            $newwidth=150;
            $newheight=150;
            $tmp=imagecreatetruecolor($newwidth,$newheight);
            imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);  
                    // Set the path here
            $filename = "../uploads/thumbs/". $_FILES['form_file']['name'];
            imagejpeg($tmp,$filename,100);
            imagedestroy($src);
            imagedestroy($tmp);
                }
于 2012-09-15T18:53:15.680 に答える