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 关注
- 98 浏览
添加回答
举报