0

そこで、ディレクトリから画像を取得するこの単純なギャラリーを作成しています。すべての画像にはtree_th.jpgのような名前があり、部分文字列(これは正しいと思います)を使用して_thを切り取り、tree.jpgだけにリンクしたいと思います

<?
    $imagetypes = array("image/jpeg", "image/gif"); 

    function getImages($dir) {
        global $imagetypes; 
        $dir = "img/";
        $retval = array(); 
        if(substr($dir, -1) != "/") $dir .= "/"; 
        $fulldir = "/$dir"; 
        //echo $fulldir;
        $d = @dir($fulldir) or die(""); 
    while(false !== ($entry = $d->read())) { 
        if($entry[0] == ".") continue; 
        $f = escapeshellarg("$fulldir$entry"); 
        $mimetype = trim(`file -bi $f`); 
        foreach($imagetypes as $valid_type) { 
            if(preg_match("@^{$valid_type}@", $mimetype)) { 
                $retval[] = array( 'file' => "$dir$entry", 'size' => getimagesize("$fulldir$entry") ); 
                break; 
            } 
        } 
    } 

    $d->close(); return $retval; 
} 

$thumbs = getImages("img"); 
foreach($thumbs as $img) { 
    echo "<img class=\"photo\" src=\"{$img['file']}\" {$img['size'][1]} alt=\"\">\n"; 
} 

?>
4

1 に答える 1

0

これを行う 1 つの方法は、PHP の str_replace() 関数を使用することです。

$large_image_path = str_replace("_th","",$thumb_path);

最初に _th の位置を評価し、次に文字列を長さと連結で再構築する必要がある部分文字列コマンドなので、 str_replace の方が簡単だと思います。

于 2013-07-03T21:13:28.023 に答える