调整大小的img PHP的保存路径



这是我的问题,我做到了:

$fichierIMG = $_FILES['image']['tmp_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,$_FILES['image']['name'] . "_thump.jpg");
}
elseif( $image_type == IMAGETYPE_PNG ) {
$imageSource = imagecreatefrompng($fichierIMG); 
$imgResize = redimension($imageSource,$tailleSource[0],$tailleSource[1]);
imagepng($imgResize,$_FILES['image']['name'] . "_thump.png");
}
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;
}

但我的档案中有"_砰砰xxx";没有出现在我的上传文件夹中,我做错了什么?

您正在基于一个临时文件进行所有更改。

此外,您永远不会在任何地方指定上传目录:

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

以下是我在本地修复代码时所做的事情。

  1. 我使用move_uploaded_file将文件移动到";图像/";目录,你可以把它放在任何你想要的地方。1.1(创建$uploaddir变量1.2(创建$uploadfile变量
  2. 我确保php.ini中upload_max_filesize的设置在我的情况下设置为128M,因为很多软件同时运行
  3. 我使用str_replace((函数从名称中去掉了.png或.jpg名称

//创建一个$uploaddir变量,并用您想要的文件夹初始化它(在我的例子中是image/(

$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;
}

//让我们知道使用三角形是否有效

最新更新