2016-12-23 4 views
1

存在しないときに表示されない:ONERROR画像は、画像Iはこのコードを使用してい

function base64_encode_image ($filename=string,$filetype=string) { 
    if ($filename) { 
     $imgbinary = fread(fopen($filename, "r"), filesize($filename)); 
     return 'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary); 
    } 
}} 


<img src="<?php echo base64_encode_image ('img/123.jpg','jpg'); ?>" alt='' onerror="this.onerror=null;this.src='img/no-image.jpg';"/> 

問題は123.jpg画像がありませんがONERROR画像(無image.jpg)が表示されないということです存在する。

は、私は、次のエラーメッセージが表示されます: 警告:ファイルサイズを():statに任意の助けをいただければ幸いです

のimg/123.jpgに失敗しました。

答えて

0

PHPとjavascriptが混在しています。
ベストな方法は、これをPHP関数で修正することです。例えば

function base64_encode_image ($filename=string,$filetype=string) { 
    if (!$filename || !file_exists($filename)) { 
     $filename = 'img/no-image.jpg'; 
     $filetype = 'jpg'; 
    } 

    $imgbinary = fread(fopen($filename, "r"), filesize($filename)); 
    return 'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary); 
} 

ファイルが存在しない場合、それはここで-image.jpgを負いません。 あなたの出力では、onerror

<img src="<?php echo base64_encode_image ('img/123.jpg','jpg'); ?>" alt='' /> 
+0

を削除することができます。ありがとうございました ! – Sally

関連する問題