【问题标题】:Upload PHP Script not working in Ubuntu上传 PHP 脚本在 Ubuntu 中不起作用
【发布时间】:2016-06-14 18:20:32
【问题描述】:

我有一个表单,您可以通过输入类型文件选择文件(图像),并且它必须将该图像上传到文件夹。 在我的计算机(运行 XAMPP)上运行良好,但现在我将投影仪移到我的服务器上,因为它已经完成了。

我的服务器运行 Ubuntu 16.04 (Apache + PHP + MySQL)。 Apache 版本:Apache/2.4.18 (Ubuntu) PHP版本:7.0.4-7ubuntu2.1 MySQL 版本:5.7.12-0ubuntu1 - (Ubuntu)

我尝试过的: - 授予两个文件(表单文件和发布操作所在的文件)的最大权限

上传脚本:

<?php
$File = array("Name" => $_FILES['prod_image']['name'], "Error" => $_FILES['prod_image']['error'], "Size" => $_FILES['prod_image']['size'], "tmp_name" => $_FILES['prod_image']['tmp_name']);

move_uploaded_file($File['tmp_name'], "../images/".basename($File['Name']));

【问题讨论】:

  • 你有什么错误吗?
  • 无!当我 var_dump move_uploaded_file 函数时,它返回 bool(false)。否则你会看到一个空白页。
  • 你检查过实际的错误日志吗?

标签: php apache ubuntu


【解决方案1】:

我使用此代码上传文件:

$your_Path="";//set your path, e.g., $_SERVER['HTTP_HOST']
$name='prod_image'; /
$userfile_tmp = $_FILES[$name]['tmp_name'];
$userfile_name = $_FILES[$name]['name'];
$userfile_size = $_FILES[$name]['size'];

if (move_uploaded_file($userfile_tmp, $your_Path. $userfile_name)) {
 echo 'Success.';
}else
  echo 'error'; 
}

【讨论】:

  • 很好。这如何帮助 OP 解决他们的问题?
  • 如果我是他,我应该尝试使用有效的代码。如果这个不起作用,我会检查我的配置。如果它有效,我会保留它或调整我的代码,因为现在我知道代码有问题。就是这样。
【解决方案2】:

如果您在使用 Ubuntu 时遇到文件上传问题,请检查您的虚拟主机配置文件并注释掉“REQUIRE ALL GRANTED”

例如

 <Directory /var/www/your_project>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        #Require all granted
    </Directory>

【讨论】:

    【解决方案3】:

    检查您的 PHP 配置文件并查看文件上传部分并更改文件上传限制/临时目录。 如果文件大小大于文件上传限制,脚本将工作但不会产生任何输出。 2.确保客户端具有上传所需的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多