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

一种方法是使用 PHP 中的 str_replace() 函数。

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

您必须首先评估 _th 的位置的子字符串命令,然后用长度和 concat 重新组合字符串,所以我认为 str_replace 对您来说会更容易。

于 2013-07-03T21:13:28.023 回答