【问题标题】:Upload Picture in a particular folder of localhost在本地主机的特定文件夹中上传图片
【发布时间】:2014-05-02 06:38:06
【问题描述】:

您好,我正在尝试制作图片上传功能。在此用户选择表单中的图片文件。我正在尝试验证上传的文件是否为图片。如果是,那么图片应该保存在与 html 和 php 文件相同的父文件夹中的名为 picture 的文件夹中。我正在尝试,但图片没有得到验证或保存。请帮助..

我的 HTML 文件上传.html

 <html>
 <body>

 <form action="upload_file.php" method="post"
  enctype="multipart/form-data">
 <label for="file">Filename:</label>
 <input type="file" name="file" id="file"><br>
 <input type="submit" name="submit" value="Submit">
 </form>

 </body>
 </html> 

我的PHP文件upload.php

     <?php
     $allowedExts = array("gif", "jpeg", "jpg", "png");
     $temp = explode(".", $_FILES["file"]["name"]);
     $extension = end($temp);

     if ((($_FILES["file"]["type"] == "image/gif")
     || ($_FILES["file"]["type"] == "image/jpeg")
     || ($_FILES["file"]["type"] == "image/jpg")
     || ($_FILES["file"]["type"] == "image/pjpeg")
     || ($_FILES["file"]["type"] == "image/x-png")
     || ($_FILES["file"]["type"] == "image/png"))
     && ($_FILES["file"]["size"] < 20000)
     && in_array($extension, $allowedExts)) {
     if ($_FILES["file"]["error"] > 0) {
     echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
     } else {
     echo "Upload: " . $_FILES["file"]["name"] . "<br>";
     echo "Type: " . $_FILES["file"]["type"] . "<br>";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
     if (file_exists("upload/" . $_FILES["file"]["name"])) {
     echo $_FILES["file"]["name"] . " already exists. ";
     } else {
     move_uploaded_file($_FILES["file"]["tmp_name"],
     "upload/" . $_FILES["file"]["name"]);
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
     }
     }
     } else {
     echo "Invalid file";
     }
     ?> 

【问题讨论】:

  • 检查您的目标文件夹。你可以试试'/upload/'
  • 脚本正在运行。请检查您的文件名! action="upload_file.php",您的 php 文件应相应命名:upload_file.php。此外,目前 - 您的上传大小限制为 20kb。而且,您应该在本地主机上的测试文件夹内有“上传”文件夹(测试文件夹 - 您的 html 和 php 文件所在的文件夹)
  • 同时检查文件夹是否有写权限
  • 附注如果您想更改文件上传的文件夹名称 - 将文件夹命名为“图片”并在代码中更改 - 使用“图片”而不是“上传”。

标签: php image file-upload image-uploading image-upload


【解决方案1】:

我认为您可能必须将表单操作更改为 upload.php 因为你保存了名为upload.php的php文件

【讨论】:

    【解决方案2】:

    使用此代码

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

        {
        $target='images/'.$_FILES['image']['name'];
        $source=$_FILES['image']['tmp_name'];
        copy($source,$target);
        }
    

    【讨论】:

    • images 是文件夹名称
    猜你喜欢
    • 1970-01-01
    • 2021-12-25
    • 2011-06-02
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2017-10-05
    相关资源
    最近更新 更多