为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
幕布斯6054654 2023-09-15 17:43:52
这是我的问题,我这样做了:        $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;            }但是我的带有“_thump.xxx”的文件没有出现在我的上传文件夹中,我做错了什么?
查看完整描述

2 回答

?
HUH函数

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


查看完整回答
反对 回复 2023-09-15
?
潇湘沐

TA贡献1816条经验 获得超6个赞

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

  1. 我使用 move_uploaded_file 将文件移动到“image/”目录,您可以将其放在任何您想要的位置。1.1) 创建 $uploaddir 变量 1.2) 创建 $uploadfile 变量

  2. 在我的例子中,我确保 php.ini 中的 upload_max_filesize 设置为 128M,因为很多软件同时运行。

  3. 我使用 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;

}

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


查看完整回答
反对 回复 2023-09-15
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信