猿问

为什么在将文件上传到PHP时$_file是空的?

为什么在将文件上传到PHP时$_file是空的?

我的Windows 7计算机上安装了WampServer 2。我使用的是Apache2.2.11和PHP 5.2.11。当我试图从表单上传任何文件时,它似乎是在上传,但是在PHP中,$_FILES数组为空。中没有文件。c:\wamp\tmp文件夹。我已经配置了php.ini若要允许文件上载等,请执行以下操作。这个tmp文件夹具有当前用户的读写权限。我很困惑。

HTML:

<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>
    <form enctype="multipart/form-data" action="vanilla-upload.php" method="POST">
        Choose a file to upload: <input name="uploadedfile" type="file" /><br />
        <input type="submit" value="Upload File" />
    </form></body></html>

PHP:

<?php
echo 'file count=', count($_FILES),"\n";var_dump($_FILES);echo "\n";?>


慕尼黑5688855
浏览 1018回答 3
3回答

慕侠2389804

就HTML而言,您似乎正确地设置了该部分。你已经有了enctype="multipart/form-data"这在表格上是非常重要的。就你的php.ini安装程序,有时在多个系统上安装php.ini文件存在。确保您正在编辑正确的。我知道你说过你已经配置好了php.ini文件以使文件上载,但您是否也设置了upload_max_filesize和post_max_size要比你想上传的文件更大吗?所以你应该:file_uploads&nbsp;=&nbsp;On;&nbsp;sounds&nbsp;like&nbsp;you&nbsp;already&nbsp;did&nbsp;thispost_max_size&nbsp;=&nbsp;8M;&nbsp;change&nbsp;this&nbsp;higher&nbsp;if&nbsp;needed upload_max_filesize&nbsp;=&nbsp;8M;&nbsp;change&nbsp;this&nbsp;higher&nbsp;if&nbsp;needed您的目录:"c:\wamp\tmp"有读写权限吗?创建php.ini改变?

慕村9548890

重要的是要加上enctype="multipart/form-data"到您的表单,示例<form&nbsp;action="upload.php"&nbsp;method="post"&nbsp;enctype="multipart/form-data"> &nbsp;&nbsp;&nbsp;&nbsp;Select&nbsp;image&nbsp;to&nbsp;upload:&nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="file"&nbsp;name="fileToUpload"&nbsp;id="fileToUpload"> &nbsp;&nbsp;&nbsp;&nbsp;<input&nbsp;type="submit"&nbsp;value="Upload&nbsp;Image"&nbsp;name="submit"></form>
随时随地看视频慕课网APP
我要回答