0
我想從我的服務器插入圖像作爲背景圖像轉換爲base64。我的文件是可寫的,爲什麼我會看到filesize()和fread()錯誤?
我收到這些錯誤:
警告:文件大小():Stat失敗
警告:FREAD():長度參數必須大於0
我已閱讀,這兩個錯誤都可能是由文件不可寫入引起的,但是我已經將所有文件寫入相關的可寫入文件(圖像文件,它所在的文件夾和代碼所在的文件),並且仍然沒有喜悅。
這是PHP代碼
<?php
$img_source = "image.jpg";
$img_binary = fread(fopen($img_source, "r"), filesize($img_source));
$img_string = base64_encode($img_binary);
?>
這裏是我的CSS/PHP的
body { background-image:url('data:image/gif;base64,<?php echo $img_string; ?>');
我以前achiving我想用get_file_contents的結果,但它是非常非常慢。這是我的老方法。
<?php echo base64_encode(file_get_contents($img_url.'/'.$image)) ?>
'filesize()'錯誤可能來自文件路徑不正確的事實。你最好仔細檢查一下。 – akirk
$ img_source =「image.jpg」;誤導了我,對不起。實際上我需要使用$ img_source = $ img_url。'/'。$ image;因爲圖像永遠不會是恆定的。我只是用image.jpg來簡化演示。我試圖避免file_get_contents,因爲它很慢 – GoldenGonaz
文件在哪裏?在你的服務器上? – akirk