0

我有一个小上传脚本,它适用于正常大小的图像和文件。

    function uploadimage($name,$dir)
{
    if($name['error'] > 0){
    die('An error ocurred when uploading.');
    }

    if(!getimagesize($name['tmp_name'])){
        die('Please ensure you are uploading an image.');
    }

    // Check filetype
    if($name['type'] != 'image/png'){
        die('Unsupported filetype uploaded.');
    }

    // Check filesize
    if($name['size'] > 500000){
        die('File uploaded exceeds maximum upload size.');
    }

    // Check if the file exists
    if(file_exists($dir. $name['name'])){
        die('File with that name already exists.');
    }

    // Upload file
    if(!move_uploaded_file($name['tmp_name'], $dir. $name['name'])){
        die('Error uploading file - check destination is writeable.');
    }

    return $dir. $name['name'];
    die('File uploaded successfully.');
}

$name 是 $_FILES['WHATEVER'] 和 $dir 目录。好吧,现在我只是更改了它的几行来上传 .csv 文件。到目前为止,一切都很好。它适用于小 .csv 文件。但是当我尝试更大的(20MB+)时,我发布它时没有任何反应。我检查了我的 php.ini 中的 upload_max_filesize 和 memory_limit,两者都是 128M ...有人可以给我一个指针,我应该在哪里搜索错误?

4

7 回答 7

3

两个 PHP 配置选项控制最大上传大小:upload_max_filesizepost_max_size

但是,您还需要考虑完成上传所需的时间。PHP 脚本通常会在 30 秒后超时,但在正常的宽带连接上上传一个 10MB 的文件至少需要 3 分钟(请记住,上传速度通常比下载速度慢五倍)。此外,操作或保存上传的图像也可能导致脚本超时。因此,我们需要将 PHP 的max_input_timemax_execution_time设置为 300(以秒为单位指定 5 分钟)。

这些选项可以在您的服务器的php.ini配置文件中设置,以便它们适用于您的所有应用程序。或者,如果您使用的是 Apache,您可以在应用程序的 .htaccess 文件中配置设置:

于 2012-11-19T11:10:52.047 回答
2

也来看看post_max_size

于 2012-11-19T11:07:32.297 回答
0

您必须在 php.ini 文件中使用此设置

upload_max_filesize = 10M  //20m,30m etc..
post_max_size = 10M  //20m,30m etc..

没有必要提供 10 MB,它会根据您的要求提供。

尝试这个。

于 2012-11-19T11:08:06.853 回答
0

你检查过你的 php.ini 中的 post_max_size 吗?

于 2012-11-19T11:08:22.263 回答
0

您必须更改 php.ini 文件。它限制了最大上传大小。在 php.ini 文件中更改它

post_max_size = 8M
upload_max_filesize = 2M

:)

于 2012-11-19T11:12:24.520 回答
0

PHP Uploads可能会将整个请求放在内存中工作,因此上传数百个 meg 将需要允许存储许多 meg 的内存限制(以及更多)。如果您确实需要支持大文件上传,那么如果网络服务器从请求中创建临时文件,您可能会更好。查看apache 的 mod_upload 或 nginx 的HttpUpload插件

于 2012-11-19T11:12:46.157 回答
-1

PHP ini 设置是您需要查看的。

于 2012-11-19T13:31:33.003 回答