首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >form不发送enctype=multipart/formdata的数据

form不发送enctype=multipart/formdata的数据
EN

Stack Overflow用户
提问于 2018-01-18 20:23:34
回答 1查看 907关注 0票数 0

我有一个简单的PHP表单与两个上传输入在本地主机。当我将表单的加密类型设置为multipart/form-data时,它不会发送任何信息。我打印了$_FILES$_POST,它们都是Array()和空的。这是我在insert_tour.php文件中的php代码:

代码语言:javascript
复制
$path = "upload/";
for ($i = 0; $i < count($_FILES['images']['name']); $i++) {

    $image_name = $_FILES['images']['name'][$i];

    $image_path = $path . basename($_FILES['images']['name'][$i]);

    if (move_uploaded_file($_FILES['images']['tmp_name'][$i], $image_path)) {
        array_push($images, $image_path);

    } else {
    echo "There was an error uploading the images, please try again!";
    }
}


$video_path = $path . basename($_FILES['tour_video']['name']);
if (move_uploaded_file($_FILES['tour_video']['tmp_name'], $video_path)) {

} else {
    echo "There was an error uploading the video, please try again!";
}
// Process the post data and files and send to db here ... 

这是我的表单代码:

代码语言:javascript
复制
<form action="tour_insert.php" method="post" enctype="multipart/form-data">
    <!-- other inputs for form --> 
    <input name="tour_video" type="file">
    <input name="images[]" type="file" multiple="multiple">
    <input name="add_tour" type="submit" value="submit">
</form>

问题是它不会以$_POST$_FILES格式发送任何信息。这是打印$_SERVER给我的结果:

代码语言:javascript
复制
Array ( [UNIQUE_ID] => WmCTwKwSjVEAABJMH-QAAAA- [HTTP_HOST] => localhost [HTTP_CONNECTION] => keep-alive [CONTENT_LENGTH] => 14532844 [HTTP_CACHE_CONTROL] => max-age=0 [HTTP_ORIGIN] => http://localhost [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [CONTENT_TYPE] => multipart/form-data; boundary=----WebKitFormBoundarydQZ9i0QtJC8p0A5e [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 [HTTP_REFERER] => http://localhost/dalahu/add_tour.php [HTTP_ACCEPT_ENCODING] => gzip, deflate, br [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.9,fa;q=0.8,ja;q=0.7 [HTTP_COOKIE] => PHPSESSID=s44btr20s2to36kn7tsk4rk717 [PATH] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\Amirition\AppData\Local\Programs\Python\Python36-32;C:\Users\Amirition\AppData\Local\Programs\Python\Python36-32\Scripts;D:\Python\ajax_lastsecond\chromedriver.exe;C:\Users\Amirition\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Bandizip\;C:\Program Files\Microsoft VS Code\bin [SystemRoot] => C:\Windows [COMSPEC] => C:\Windows\system32\cmd.exe [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC [WINDIR] => C:\Windows [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.2.27 (Win32) DAV/2 mod_ssl/2.2.27 OpenSSL/1.0.2e mod_fcgid/2.3.9 mod_wsgi/3.4 Python/2.7.6 PHP/7.0.0 mod_perl/2.0.8 Perl/v5.16.3 [SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => D:/MAMP/htdocs [SERVER_ADMIN] => testemail@test.com [SCRIPT_FILENAME] => D:/MAMP/htdocs/dalahu/tour_insert.php [REMOTE_PORT] => 3105 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => POST [QUERY_STRING] => [REQUEST_URI] => /dalahu/tour_insert.php [SCRIPT_NAME] => /dalahu/tour_insert.php [PHP_SELF] => /dalahu/tour_insert.php [REQUEST_TIME_FLOAT] => 1516278720.141 [REQUEST_TIME] => 1516278720 ) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-18 23:32:19

通过在php.ini文件中增加post_max_size,解决了这个问题。默认值为8MB,您可以增加此值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48321286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档