0

我试图做一个简单的文件上传。我以前做过很多次,都很好。出于某种原因,这次我不断出现错误UPLOAD_ERR_INI_SIZE。即使我以前在同一台服务器上上传过更大的文件。这是我的 PHP.INI:

display_errors = On
short_open_tag = On
memory_limit = 32M
date.timezone = Europe/Paris
upload_max_filesize = 10M
post_max_size = 10M

还有我的 HTML 表单:

<form action="/settings/upload-image" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="<?=(1024*1024*1024);?>">
    <input name="files[]" id="attachfile" type="file" />
    <br /><br />
    <input type="submit" class="submit" value="Upload New Profile Image">       
</form>

我的代码:

foreach($files as $file)
                {   $ext = strtolower(pathinfo($file[0], PATHINFO_EXTENSION));
                    if(in_array($ext,$allowed_upload_ext)===TRUE)
                    {       
                            if(!$file[3]) {     // If no error code
                                //$newFile = $me['id'].".$ext";
                                $newFile = $file[0];
                                resizeImage($file[2],PROFILE_IMAGES."/".$newFile,$ext,500);
                                genThumbFile($file[2],PROFILE_IMAGES."/thumb/".$newFile);

                                runSQL("UPDATE `users` SET `image`='{$file[0]}' WHERE `id`='{$me['id']}';");
                                array_push($msgs,"Image uploaded successfully.");
                                $me = select("SELECT * FROM `users` WHERE `id`='{$me['id']}';",true);
                            } else {
                                array_push($msgs,"!".fileError($file[3]));
                            }
                    } else {
                        array_push($msgs,"!The file ".$file[0]." could not be uploaded as it is the wrong file type."); 
                    }
                }

这次唯一的区别是我使用临时上传文件调整大小并生成拇指,而不是先复制文件。这可能是问题吗?我不这么认为,因为如果图像很小,它可以很好地工作。但我尝试了 2mb 之类的东西,但它很适合。

建议?

4

1 回答 1

0

感谢您的所有帮助。:P

我解决了 - PHP.INI 中缺少一行:

file_uploads = On

仅适用于任何发现此问题的人。

于 2013-07-18T18:54:12.473 回答