php
  • image
  • jpeg
  • exists
  • file-exists
  • 2016-05-10 17 views 3 likes 
    3

    私は今この問題に悩まされています。 イメージを取得するJPGとjpg

    $img1 = '<img src="imgs/'.$firstImage.'.jpg"></img>'; 
    $img2 = '<img src="imgs/'.$secondImage.'.jpg"></img>'; 
    $img3 = '<img src="imgs/'.$thirdImage.'.jpg"></img>'; 
    $img4 = '<img src="imgs/'.$fourthImae.'.jpg"></img>'; 
    

    (明らかに)この問題を解決するためにどのように任意のアイデアを、私はPHPで画像をロードしようとしているが、そこにJPGとJPG画像があると私はJPGのものをJPGて画像をロードしようとしたときに検出されませんか?

    私はif_existsを使用してみましたが、それは

    if (file_exists('http://website_url.nl/imgs/'.$firstImage.'.jpg')) { 
        $img1 = '<img src="imgs/'.$firstImage.'.jpg"></img>'; 
    } else { 
        $img1 = '<img src="imgs/'.$firstImage.'.JPG"></img>'; 
    } 
    
    をうまくいかなかった問題は、今では定期的にJPGの画像を見つけることができないということです。たとえば、 23.jpgを読み込もうとしますが、ファイル 23.jpgが存在しないために存在しているのに、 23.JPGが存在しないため、このフォルダに配置されているため、スクリプトは 23.JPGを読み込もうとします。 JPGファイルで動作します。たとえば DOC_202.jpgが存在しないため JPGがロードされるため、 DOC_202.JPGが見つかりました。しかし、 jpgのものでは動作しません。どんな解決策ですか?種類に関しては

    +1

    アップロードしたファイルを変更する任意のチャンス?アップロードを担当する可能性のあるPHPスクリプトがすべてを小文字に変換するようにします。または、他の人が手動でファイルを処理していますか? –

    +0

    ファイルによってあなたはイメージを意味しますか?彼らは私に画像をメールで送りました。そして、私はそれらをフォルダに入れてサーバにアップロードするだけです。 –

    +1

    @Theekopjeあなたはそれらの名前を変更することができますか? –

    答えて

    2

    だけでURLを使用していない、あなたのローカルディレクトリ内のファイルをチェックし

    if(file_exists('imgs/'.$firstImage.'.jpg')) { 
    

    ほとんどのURLラッパーは(STATをサポートしていません)、( http://www.php.net/manual/en/function.file-exists.phpを参照してください
    PS:最後にPHP5)とhttp://www.php.net/manual/en/wrappers.php

    編集についてのブルーノートディレクトリの区切りはバックスラッシュされているWindowsを使用するときにサイドノート、「\」、それは前方のSLAはのLinux上でh '/'。グローバルな解決策が必要な場合は、グローバル定数DIRECTORY_SEPARATORを参照してください。

    +0

    これは私のために働いたが、[この投稿](http://stackoverflow.com/questions/7991425/php-how-to-check-if-image-file-exists)がフルリンク?しかし、ありがとう! –

    +0

    それは変です。ファイルの物理的なローカルアドレスを使用する必要があります。 –

    +2

    @PerEnströmこれは相対的な物理的なローカルファイル名であり、相対URLではありません。私の編集を参照してください、linux(サーバー)はディレクトリセパレータとしてスラッシュを使用します。 – clemens321

    0

    関数file_existsは、外部URLではなくファイルが存在するかどうかをローカルシステムでチェックします。

    http://php.net/manual/en/function.file-exists.php

    あなたのローカルアドレスにfile_existsパラメータを変更するのであればそれが動作するはずです。例:

    if(file_exists('/webdirectory/public_html/project/images/' . $image1 . '.jpg')){ 
        //do stuff 
    } 
    

    file_existsの大文字と小文字の区別は、ファイルシステムが存在するかどうかによって異なります。 UNIXのサーバーではファイルの大文字と小文字の区別がありますので、file_existsも同様です。

    PHPマニュアルでのこのコメントは、URLを介して確認する方法を提案している:http://php.net/manual/en/function.file-exists.php#75064

    関連する問題