2 回答

TA貢獻1836條經驗 獲得超4個贊
您將根據臨時文件進行所有更改。
另外,您永遠不會在任何地方指定上傳目錄:
imagejpeg($imgResize,$_FILES['image']['name'] . "_thump.jpg");
可能應該是 imagejpeg($imgResize,"uploads/".$_FILES['image']['name'] . "_thump.jpg");
使用 move_uploaded_file 確保文件實際上也正確上傳也沒有什么壞處。
https://www.php.net/manual/en/function.move-uploaded-file.php

TA貢獻1816條經驗 獲得超6個贊
以下是我在本地修復您的代碼所做的事情。
我使用 move_uploaded_file 將文件移動到“image/”目錄,您可以將其放在任何您想要的位置。1.1) 創建 $uploaddir 變量 1.2) 創建 $uploadfile 變量
在我的例子中,我確保 php.ini 中的 upload_max_filesize 設置為 128M,因為很多軟件同時運行。
我使用 str_replace() 函數從名稱中刪除了 .png 或 .jpg 名稱。
//創建一個 $uploaddir 變量并使用我的案例圖像中所需的文件夾對其進行初始化/
$uploaddir="image/";
//創建另一個變量來附加上傳目錄和文件名,如下所示
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
//移動上傳的文件如下
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
}
else {
echo "Failed to move file to required directory!\n";
}
//以下是最終代碼,您可以復制粘貼并僅編輯 $uploaddir 變量
$uploaddir="image/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
}
else {
echo "Failed to move file to required directory!\n";
}
$fichierIMG="$uploaddir".$_FILES['userfile']['name'];
$tailleSource = getimagesize($fichierIMG);
$image_type = $tailleSource[2];
if( $image_type == IMAGETYPE_JPEG ) {
$imageSource = imagecreatefromjpeg($fichierIMG);
$imgResize = redimension($imageSource,$tailleSource[0],$tailleSource[1]);
imagejpeg($imgResize,str_replace(".jpg","",$_FILES['image']['name']).
"_thump.jpg");//str_replace will strip off the .jpg extension
}
else if( $image_type == IMAGETYPE_PNG ) {
$imageSource = imagecreatefrompng($fichierIMG);
$imgResize = redimension($imageSource,$tailleSource[0],$tailleSource[1]);
imagepng($imgResize,str_replace(".png","",$_FILES['userfile']['name']) .
"_thump.png");//str_replace will strip off the .png extension
}
function redimension($imageSource,$width,$height) {
$img_width =200;
$img_height =200;
$imgResize=imagecreatetruecolor($img_width,$img_height);
imagecopyresampled($imgResize,$imageSource,0,0,0,0,$img_width,$img_height,
$width,$height);
return $imgResize;
}
//讓我們知道使用三角形是否有效
- 2 回答
- 0 關注
- 127 瀏覽
添加回答
舉報