【问题标题】:Uploading pictures to a folder using PHP使用 PHP 将图片上传到文件夹
【发布时间】:2015-09-28 15:26:39
【问题描述】:

所以我正在尝试遵循本教程here,但我很难让它按预期的方式工作。所以我创建了一个名为fileToUpload 的文件,在这个文件中我有四个文件。首先,php.ini 使用以下代码:

file_uploads = On

第二,upload.html

<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

第三,upload.php

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
?>

最后,我有一个名为uploads 的文件夹,该文件夹内没有任何内容。我应该注意到upload.htmlupload.phpphp.ini 都在一个名为fileToUpload 的文件夹中。

现在,当我单击提交按钮时,它会显示 upload.php 内的代码,而 uploads 文件夹内没有任何内容。但是,它应该将上传的文件放入uploads 文件夹中。但是,它不起作用。

【问题讨论】:

    标签: php html file-upload


    【解决方案1】:

    您错过了将上传文件放入该目录的调用。一些东西(从你链接到的教程中无耻地复制):

    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
    

    【讨论】:

    • 非常感谢您的回复。在您阅读了您的答案后,我决定将Complete Upload File PHP Script 复制并粘贴到我的.php 文件中,但是在我单击提交按钮后,它仍然只显示代码...
    • @JaeKim 您的网络服务器是否安装了 PHP?是否配置为处理.php 文件?
    • 我实际上并没有像虚拟主机网站那样做。我只是在我的电脑上本地做...是这个问题吗?
    • 我应该将文件上传到 fireftp,就像链接到我的处理 PHP 文件的虚拟主机一样?
    • @JaeKim 托管不是问题 - 网络 服务 是问题。 PHP 是一种服务器端语言。当您访问 PHP 文件时,代码在服务器端运行(当然,它必须安装和配置 PHP),并向浏览器提供(通常是 HTML)响应。你可以安装 httpd 并在本地运行它,或者使用一些免费的主机。
    【解决方案2】:

    当您上传文件时,它不会直接转到您想要的位置,而是转到由您的服务器配置定义的临时文件夹。 然后你必须将临时文件移动到你想要的位置。

    move_uploaded_file ($_FILES["fileToUpload"]["tmp_name"] , $target_file );
    

    AND php 必须有写入目标文件夹的权限

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2015-06-17
      • 2012-11-21
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      相关资源
      最近更新 更多