簡體   English   中英

使用php或javascript / jquery獲取圖像大小-getimagesize失敗

[英]Getting images size using php or javascript / jquery - getimagesize fails

我使用的是非常好的燈箱腳本,但需要我輸出圖像尺寸。 我使用的網站是php,可以在上傳圖片時調整圖片的大小。 它不將圖像大小存儲在數據庫中。

該代碼需要顯示如下。

<a href="http://www.fullurl.com/image.jpg" data-original-url="http://www.fullurl.com/image.jpg" data-original-width="123" data-original-height="456">
    <img src="http://www.fullurl.com/thumbnail-image.jpg" alt="product name" />
</a>

我嘗試使用getimagesize,但它僅適用於尚未由系統調整大小的圖像。 我認為他們丟失了一些重要信息,因為已上傳但未調整大小的圖像可以正常工作。 當前已上傳約1200張圖像,因此無法重做。

我當前的方法如下使用php。

<?php
$image1 = 'http://www.fullurl.com/thumbnail-image.jpg';
list($width, $height) = getimagesize($image1);
 ?>

<a href="http://www.fullurl.com/image.jpg" data-original-url="http://www.fullurl.com/image.jpg" data-original-width="123" data-original-height="456">
    <img src="http://www.fullurl.com/thumbnail-image.jpg" alt="product name" />
</a>

如果使用以下命令,則會得到bool(false)作為輸出。

$path1 = 'http://www.fullurl.com/image.jpg';
$vals_arr1 = getimagesize($path1);
echo "<pre>";var_dump($vals_arr1);echo "</pre>";

我不是程序員。 我的問題是如何輸出以下圖像信息? 我很樂意根據需要嘗試替代的php,jquery / javascript。 理想情況下,它需要簡單快速。

<a href="http://www.fullurl.com/image.jpg" data-original-url="http://www.fullurl.com/image.jpg" data-original-width="123" data-original-height="456">

這有效

$path1 = 'https://jpeg.org/images/jpeg-home.jpg';
$vals_arr1 = getimagesize($path1);
echo "<pre>";var_dump($vals_arr1);echo "</pre>";

該錯誤必須在其他地方。 檢查URL! 他們有效嗎? 並檢查您的服務器上allow_url_fopen是否設置為true

否則,這可以幫助您: https : //stackoverflow.com/a/25231517/4916265

PHP docs網站上的james dot所指出的,getimagesize將在檢查所需信息之前下載整個圖像。 這對於遠程訪問的大圖像來說非常慢。 由於寬度/高度位於文件的前幾個字節中,因此無需下載整個文件。 他編寫了一個函數,可通過流傳輸字節來獲取JPEG的大小,直到找到合適的數據來報告寬度和高度為止。

他的寫作方式將允許遠程圖像。

可以在這里找到代碼: http : //php.net/manual/zh/function.getimagesize.php#88793

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM