[英]php, getimagesize
在服務器中有很多圖片,這些圖片的名稱帶有空格,例如:home 3.png,我的新car.jpg。 我需要獲取所有圖像尺寸。 為什么getimagesize()在這些圖像上顯示錯誤?
錯誤:
Warning: getimagesize(http://127.0.0.1/img 1.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found...
如果我運行圖片:瀏覽器中的http://127.0.0.1/img 1.jpg一切正常(因此鏈接良好)。
完整代碼:
<?php
require_once('simple_html_dom.php');
$string = str_get_html('some text some text <img src = "http://127.0.0.1/img 1.jpg" /> text .... ');
foreach($string->find('img') as $e)
$img[] = $e->src;
$img_1 = getimagesize($img[0]);
print_r($img_1);
?>
您應該使用文件而不是URL。
根據我的評論:
確保運行php腳本的服務器對文件具有實際訪問權限。 在這種情況下,當您嘗試從127.0.0.1獲取映像時,php服務器必須與映像所在的服務器相同。
如果您嘗試從遠程服務器運行此程序,則它當然不起作用。 在瀏覽器中打開路徑時,您正在訪問本地服務器(在您自己的計算機上),但是外部服務器將無法以這種方式訪問它。 如果它在您的網絡中,請改用您的真實IP或主機名。 如果它不在您的網絡中,則必須使您的本地服務器公開可用,或者只是將映像移到其他地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.