0

我在 SLES 11 SP2 上使用 Apache/PHP 5.3 上传文件时遇到了一个奇怪的问题当我尝试上传文件时,PHP 只获取文件的原始名称 ( $_FILES['name']),而不是我需要的所有其他变量。

我已经检查并仔细检查了我php.ini的上传最大文件、设置最大大小、启用文件上传等。

有人知道发生了什么吗?

这是我用来测试它的脚本:

<?php
if(isset($_FILES)) {
    var_dump($_FILES);
}
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="/" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

这就是我收到的:

array(1) { ["userfile"]=> array(1) { ["name"]=> string(8) "test.txt" } }
4

3 回答 3

1

我遇到了 $_FILES 的问题。它没有上传任何文件。

我将 php 组件从 5.3.8-0.19.6 升级到 5.3.8-0.33.2 并工作...

看到这个帖子

于 2013-03-07T13:06:51.607 回答
0

将上传的文件写入 tmp 目录可能是一个问题。upload_tmp_dir中说什么phpinfo()

编辑:

我认为没有价值upload_tmp_dir它可能默认为 /tmp,但我会在 php.ini 中将其显式设置为 /tmp 并检查您是否正确设置了权限。设置error_reporting为 On 并结合查看 Apache 日志将有助于故障排除。由于您没有服务器访问权限,您可以直接在您的 php 脚本中尝试:

ini_set('upload_tmp_dir', '/tmp')
error_reporting(E_ALL);
ini_set('display_errors', '1');
于 2012-05-22T11:18:36.700 回答
0

我们在 SLES 11 SP2 中使用 PHP 上传时遇到了同样的问题。在我们的例子中,/tmp文件夹限制是最大的。

试试df -h命令看看你是否需要一些清洁。

于 2013-03-01T15:53:35.440 回答