情景:早些時候,我直接讀取圖像的url並將圖像大小調整爲4種不同的大小。但我有執行時間。現在我讀取url並將其複製到臨時文件夾中,並將本地臨時文件夾中的圖像傳遞給imagecreatefromjpeg()。使用php從本地臨時文件中讀取圖像
protected static function saveImage($row,$url){
$percent = 1.0;
$imagethumbsize = 200;
$db = PJFactory::getDbo();
$details = $db->getImageDetails();
$max = sizeof($details);
$tempfilename = "C:".DS."xampp".DS."htdocs".DS."opg-uat".DS."img".DS."temp".DS.$row['CategoryID'].".jpg";
$tempcopy = copy($url,$tempfilename);
foreach ($details as $array) {
$new_width=$array[2];
$new_height=$array[3];
$newfilename = "C:".DS."xampp".DS."htdocs".DS."opg-uat".DS."img".DS."c".DS.$row['CategoryID']."-".$array[1].".jpg";
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($tempfilename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, $newfilename);
}
}
錯誤:圖像正確保存在臨時文件夾中。但是在目標文件夾中創建了所有大小的圖像,但圖像只顯示黑色。 (沒有得到實際的圖像)。我猜想從本地讀取文件存在一些問題。 有什麼想法?
在此先感謝。
您是否正在閱讀僅限JPG文件的圖像? –
'$ details = $ db-> getImageDetails();'那怎麼知道要檢查大小的圖像?另外,接下來,'var_dump($ array)'顯示什麼? – Steven
getImageDetails是我從db寫的一個函數。有像圖像需要調整大小的4個尺寸。所以這個尺寸。 – user2553381