【问题标题】:Image/file upload in phpphp中的图像/文件上传
【发布时间】:2018-05-14 13:12:19
【问题描述】:
 <?php

if (isset($_FILES['image']))
    {
    $filename = $_FILES['image']['name'];
    $filetmp = $_FILES['image']['tmp_name'];
    move_uploaded_file($filetmp, "uploads/" . $filename);
    echo "Upload Successfully!";
    }

?>

<form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="image">
    <input type="submit" value="Submit">
</form>

在html部分,表单分为三部分(method、action和enctype)。我将在“动作”部分写什么?

【问题讨论】:

  • 如果您要在同一页面中处理上传,您可以将其留空(似乎是这样)。当您将数据发送到另一个页面/脚本时,您使用 action 参数。
  • 什么是 $_SERVER["PHP_SELF"] 变量?
  • 来自 PHP 手册:PHP_SELF 返回“当前执行脚本的文件名,相对于文档根目录。”
  • php.net/manual/reserved.variables.server.php 请在询问之前尝试搜索。
  • 有什么不工作的地方吗?

标签: php file-handling


【解决方案1】:
 <?php

   if (isset($_POST['uploadimage']))
     {
     $filename = $_FILES['image']['name'];
     $filetmp = $_FILES['image']['tmp_name'];
     move_uploaded_file($filetmp, "uploads/" . $filename);
     echo "Upload Successfully!";
     }

 ?>

 <form method="post" action="thisfilename.php" enctype="multipart/form-data">
     <input type="file" name="image">
     <input type="submit" value="Submit" id="uploadimage">
 </form>

你可以使用这种类型。 thisfilename.php ,你的 php 文件名。

【讨论】:

    【解决方案2】:

    这是一个可用于上传文件的脚本。

    $target_dir = "your directory";
    $target_file = $target_dir . basename($_FILES["file"]["name"]);
    $target_file = preg_replace('/\s+/', '_', $target_file);
    $uploadOk = 1;
    $FileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
    // Check if image file is a actual image or fake image
    
    // Check if file already exists
    if (file_exists($target_file)) {
        $uploadOk = 0;
    }
    // Check file size
    if ($_FILES["file"]["size"] > 5000000) {
        $uploadOk = 0;
    }
    // Allow certain file formats
    if($FileType == "wav" OR $FileType == "jpg" OR $FileType == "png" ) {
        $uploadOk = 0;
    }
    
    // Check if $uploadOk is set to 0 by an error
    if ($uploadOk == 0) {
        echo "Sorry, your file was not uploaded.";
    // if everything is ok, try to upload file
    } else {
        if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
         // do something when the file is uploaded
        } else {
           // do something when the file is not uploaded
        }
    }
    

    您的操作可以为空以转到同一文件或输入需要发布到的文件名
    您的 HTML

    <form method="post" action="thisfilename.php" enctype="multipart/form-data">
         <input type="file" name="image">
         <input type="submit" value="Submit" id="uploadimage">
     </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2022-12-01
      • 1970-01-01
      • 2012-05-15
      • 2012-03-08
      • 1970-01-01
      相关资源
      最近更新 更多