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

如何使用所需名称上传和保存文件

/ 猿问

如何使用所需名称上传和保存文件

PHP
慕仙森 2019-10-18 14:34:38

我正在使用此代码上传文件(图像到文件夹)


<form action='' method='POST' enctype='multipart/form-data'>

<input type='file' name='userFile'><br>

<input type='submit' name='upload_btn' value='upload'>

</form>


<?php

$target_Path = "images/";

$target_Path = $target_Path.basename( $_FILES['userFile']['name'] );

move_uploaded_file( $_FILES['userFile']['tmp_name'], $target_Path );

?>

当文件(图像)保存在指定路径时...如果我想用所需的名称保存文件...


我曾尝试更换此


$target_Path = $target_Path.basename( $_FILES['userFile']['name'] );

有了这个


$target_Path = $target_Path.basename( "myFile.png" );

但是它不起作用


查看完整描述

3 回答

?
繁华开满天机

你可以试试看


$info = pathinfo($_FILES['userFile']['name']);

$ext = $info['extension']; // get the extension of the file

$newname = "newname.".$ext; 


$target = 'images/'.$newname;

move_uploaded_file( $_FILES['userFile']['tmp_name'], $target);


查看完整回答
反对 回复 2019-10-18
?
慕码人8056858

这将非常有效-您可以使用HTML5仅允许上传图片文件。这是uploader.htm的代码-


<html>    

    <head>

        <script>

            function validateForm(){

                var image = document.getElementById("image").value;

                var name = document.getElementById("name").value;

                if (image =='')

                {

                    return false;

                }

                if(name =='')

                {

                    return false;

                } 

                else 

                {

                    return true;

                } 

                return false;

            }

        </script>

    </head>


    <body>

        <form method="post" action="upload.php" enctype="multipart/form-data">

            <input type="text" name="ext" size="30"/>

            <input type="text" name="name" id="name" size="30"/>

            <input type="file" accept="image/*" name="image" id="image" />

            <input type="submit" value='Save' onclick="return validateForm()"/>

        </form>

    </body>

</html>

现在是upload.php的代码-


<?php  

$name = $_POST['name'];

$ext = $_POST['ext'];

if (isset($_FILES['image']['name']))

{

    $saveto = "$name.$ext";

    move_uploaded_file($_FILES['image']['tmp_name'], $saveto);

    $typeok = TRUE;

    switch($_FILES['image']['type'])

    {

        case "image/gif": $src = imagecreatefromgif($saveto); break;

        case "image/jpeg": // Both regular and progressive jpegs

        case "image/pjpeg": $src = imagecreatefromjpeg($saveto); break;

        case "image/png": $src = imagecreatefrompng($saveto); break;

        default: $typeok = FALSE; break;

    }

    if ($typeok)

    {

        list($w, $h) = getimagesize($saveto);

        $max = 100;

        $tw = $w;

        $th = $h;

        if ($w > $h && $max < $w)

        {

            $th = $max / $w * $h;

            $tw = $max;

        }

        elseif ($h > $w && $max < $h)

        {

            $tw = $max / $h * $w;

            $th = $max;

        }

        elseif ($max < $w)

        {

            $tw = $th = $max;

        }


        $tmp = imagecreatetruecolor($tw, $th);      

        imagecopyresampled($tmp, $src, 0, 0, 0, 0, $tw, $th, $w, $h);

        imageconvolution($tmp, array( // Sharpen image

            array(−1, −1, −1),

            array(−1, 16, −1),

            array(−1, −1, −1)      

        ), 8, 0);

        imagejpeg($tmp, $saveto);

        imagedestroy($tmp);

        imagedestroy($src);

    }

}

?>


查看完整回答
反对 回复 2019-10-18
?
拉风的咖菲猫

您可以从此处获取演示源代码:http : //abhinavsingh.com/blog/2008/05/gmail-type-attachment-how-to-make-one/


它可以随时使用,也可以进行修改以适合您的应用程序需求。希望能帮助到你 :)


查看完整回答
反对 回复 2019-10-18

添加回答

回复

举报

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