私はそれは意志 それは、MySQLからのDB「2/12分の34/thepicture.jpg」をこのように指定された値になります私は、スクリプトこのPHPコードを改善するにはどうすればよいですか?
で写真のサムネイル画像のパスを得るのを助ける、それ以下のPHPコードを持っていますその後、私は、私は任意の助けて下さい50とページ上も
に開いていますこれを行うのより良い性能の方法があると確信しています。この「2/12分の34/thepicture_thumb1.jpg」
にそれを回しますユーザーはこれを50回実行して50種類の写真を取得します
// the photo has it is pulled from the DB, it has the folders and filename as 1
$photo_url = '2/34/12/thepicture_thumb1.jpg';
//build the full photo filepath
$file = $site_path. 'images/userphoto/' . $photo_url;
// make sure file name is not empty and the file exist
if ($photo_url != '' && file_exists($file)) {
//get file info
$fil_ext1 = pathinfo($file);
$fil_ext = $fil_ext1['extension'];
$fil_explode = '.' . $fil_ext;
$arr = explode($fil_explode, $photo_url);
// add "_thumb" or else "_thumb1" inbetween
// the file name and the file extension 2/45/12/photo.jpg becomes 2/45/12/photo_thumb1.jpg
$pic1 = $arr[0] . "_thumb" . $fil_explode;
//make sure the thumbnail image exist
if (file_exists("images/userphoto/" . $pic1)) {
//retunr the thumbnail image url
$img_name = $pic1;
}
}
私は、ファイル拡張子を取得するためにpathinfo()をどのように使用しているのか不思議です。この拡張子は常に3桁であるため、この値をより良いパフォーマンスにする方法はありますか?
なぜ3桁の内線番号ですか? "thepicture.jpeg"はどうですか?それはしばしば使われていませんが、それでもまだ... –
ええと私はその後のことについて考えましたが、100,000人以上のユーザーが自分のサイトに投稿した画像を見たことはありませんでした。 – JasonDavis
ファイル名に複数のドットを付けることが有効であることを忘れないでください。 'myLogo.24bit.png'、' myLogo.bw.png'などのファイル名を付けます - このコードは最初のドット( '$ arr [0]')の前にあるファイル名だけを考慮するので、私のファイルは'myLogo.png' – nickf