0

このスクリプトでMySqlDBに画像名を照会し、ディレクトリに移動して同じ名前の画像を返すようにするために、さまざまなことを試みてきました。概念的には単純に見えますが、私はたくさんの混合結果を取得し続け、どの結果も画像を返しません。

これが私が試した最新のコードです:

$sqlCar = mysql_query("SELECT img_nm FROM vehicles WHERE sold='n' ORDER BY year DESC");

/***************************
****
Code Returns '1'
******************************/

$dbImage = $sqlCar;
$dirImage = scandir($_SERVER['DOCUMENT_ROOT'].'/car-pics/');

    function imgCompare($dbImage){
    if ($dbImage == $dirImage[img_nm]){
        echo $dirImage[img_nm];
    } else {
        echo "Image Coming Soon";   
    }
}
4

2 に答える 2

1

$dirImage をパラメーターとして関数に追加していません。パラメータとして追加するか、次のように関数の最初の行に global キーワードを追加することで、これを解決できます。

function imgCompare($dbImage){
    global $dirImage;

    if ($dbImage == $dirImage[img_nm]){
        echo $dirImage[img_nm];
    } else {
        echo "Image Coming Soon";   
    }
}

また、データベースの img_nm にはどのような値がありますか? scandir は、インデックス値の配列を使用します。したがって、$dirImage[0] は機能しますが、$dirImage['filename.jpg'] は機能しません。

于 2013-03-01T23:28:18.807 に答える