调整大小后的 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;

            }

但是我的带有“_thump.xxx”的文件没有出现在我的上传文件夹中,我做错了什么?


幕布斯6054654
浏览 70回答 2
2回答

HUH函数

您将根据临时文件进行所有更改。另外,您永远不会在任何地方指定上传目录: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

潇湘沐

以下是我在本地修复您的代码所做的事情。我使用 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;}//让我们知道使用三角形是否有效
打开App,查看更多内容
随时随地看视频慕课网APP