[英]why width and height of image is not able to get in php
我正在將圖像上傳到s3服務器,並通過php在服務器上復制了該圖像,如果我上傳的圖像大小為2.3 mb,而不是圖像的寬度,但是如果我上傳的圖像大小小於26kb(比顯示的少)圖片的寬度,因此它能夠創建副本。
這是我的php代碼:
$s3 = new S3(awsAccessKey, awsSecretKey);
$thumbId = uniqid();
$thumbId .= ".jpg";
$img = '';
if($imgType == "image/jpeg"){
$img = imagecreatefromjpeg($sourceUrl);
}else if($imgType == "image/png"){
$img = imagecreatefrompng($sourceUrl);
}else if($imgType == "image/gif"){
$img = imagecreatefromgif($sourceUrl);
}else{
$img = imagejpeg($sourceUrl);
}
echo $width = imagesx( $img );
echo $height = imagesy( $img );
請告訴我圖像尺寸有什么問題。
問候
拉胡爾
我可能是錯的,但是我很確定這是不會顯示的內存問題,因為錯誤報告的某些方面已關閉。
要么是2.3 MB圖像損壞,要么是GD無法讀取格式-請確保您嘗試使用各種圖像。
如果是內存問題,這是一個相關的問題。
閱讀此鏈接: PHP重建圖像:內存使用情況
正如riky所說,如果可以的話,將內存限制設置得更高。 還應意識到,尺寸比文件大小更重要(因為文件大小用於壓縮圖像)。 當您以GD打開圖像時,每個像素都會分配3-4個字節,RGB和可能分配給A的像素。因此,您的4912px x 3264px圖像需要使用48,098,304到64,131,072字節的內存,再加上開銷和您的其他任何內存腳本正在使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.