0

製品ポートフォリオがあり、それぞれに画像があります。DB フィールド 'image' が空の場合、一般的な画像をロードしていますが、場合によっては、フィールドに画像の値があるが、ファイルが存在しない場合に使用したい一般的な画像も、以下のコードを使用してみましたが、空のフィールドでのみ機能します:

<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/

<?php           
if (empty($row->image) or file_exists($row->image)==false) { 
    echo 'generic.jpg';
}else{                  
    echo $row->imagen; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
    <?php } ?>

御時間ありがとうございます!

4

4 に答える 4

1

file_exists は、ファイル システム内の何かを指している必要があります。

次のようなことを試してください:

if (file_exists('/Library/WebServer/Documents/theimage.jpg')) {
  echo 'File exists';
} else {
  echo 'Does not exist';
}

また

if (file_exists('./theimage.jpg')) {
  echo 'File exists';
} else {
  echo 'Does not exist';
}

あなたのコードに適用すると、次のようになります。

<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/
if (empty($row->image) or !file_exists('./images/stores/category/'.$row->image)) { 
    echo 'generic.jpg';
}else{                  
    echo $row->imagen; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
<?php } ?>
于 2013-05-16T23:05:27.263 に答える
0

良いコードは次のようになります。

注 1: is_file を使用して、ファイルが実際に存在し、使用可能であることを確認します。

注 2: フィールドにはファイル名しか含まれていないため、スクリプトからファイルへの相対パスを使用してください。

注 3: $row->imagen のタイプミス

<div class="wrapper"><a href="store.php?url=<?php echo $row->url ?>"><img src="images/stores/category/

<?php           
if (empty($row->image) || !is_file('images/stores/category/' . $row->image)) { 
    echo 'generic.jpg';
}else{                  
    echo $row->image; }?>" alt="<?php echo $row->seo ?>"/></a></div>        
    </div>
    <?php } ?>
于 2013-05-16T23:05:27.183 に答える
0

私たちはほとんど同じ問題を抱えています。しかし、私にとっては。それを使用して、データベースからクロック画像/空の画像を表示できません <?php if(!empty($row[image])){ ?>"; <img class='img-size' src='admin/upload_images/".$row['image']."'> <?php } ?> でした。

于 2018-08-27T07:21:33.797 に答える