Strato服务器上的$ _FILES为空

时间:2016-05-27 14:38:13

标签: php file-upload image-uploading

我在使用php脚本上传文件时遇到了一些令人沮丧的问题。问题是我的脚本正在我的本地xampp服务器上运行。当我将它传输到我的strato主机服务器时,它将不再起作用。没有错误输出。在调试过程中,我发现$ _FILES数组是完全空的..它没有任何内容。

提交表单时,

print_r($_POST)print_r($_FILES)会显示以下内容:

Array
(
    [submit] => 
)

Array
(
)

我的php.ini包含以下与文件上传相关的配置参数(由phpinfo()验证):

file_uploads = On;
memory_limit = 128M;
post_max_size = 8M;
upload_max_filesize = 128M;
upload_tmp_dir = /tmp;

我尝试上传的文件未超过8MB post_max_size的限制。

我的表单如下:

<form action="bilder.php" target="_self" method="post" enctype="multipart/form-data">
    <input type="file" id="file" name="file" accept="image/*"/>
    <button type="submit" name="submit" class="btn btn-primary">submit</button>
    <button type="submit" name="delete" class="btn btn-danger">delete files</button>
</form>

除了身体因素外,没有任何东西围绕着它。

来自bilder.php的我的php脚本已包含许多调试输出,如下所示:

ini_set ("display_errors", "1");
error_reporting(E_ALL);

//Das Upload-Verzeichnis
$upload_folder = 'uploads/bilder/';

echo "<pre>";
print_r(realpath($upload_folder)."\n");

echo isset($_POST["submit"]);
echo isset($_POST["delete"]); 

print_r($_POST);

echo ("FILES=empty? ".empty($_FILES)."\n");

print_r($_FILES);
echo "</pre>";
if (!empty($_FILES) && isset($_POST["submit"]))
{   
    echo "file will be uploaded";

    $new_path = uploadPicture("file", $upload_folder);

    if ($new_path) {
        $uploadMessage .= '<p class="alert alert-success"> File successfully uploaded </p>';    
    }
}

函数uploadPicture检查并上载文件并返回保存在服务器上的路径。这是我从其他地方复制的标准脚本。这不应该导致我的问题,因为它永远不会在strato服务器上执行。

我的strato服务器配置一定有问题,但我无法弄清楚问题是什么。 php.ini似乎是正确的。有人有想法吗?

0 个答案:

没有答案