所以我有这样的代码:
<form name="form" action="./" method="post">
<input type="file" name="newfile" id="newfile" />
</form>
当我运行的操作页面上的这个PHP脚本,什么都不会发生
echo "$_FILES['newfile']['name'];
print_r($_FILES);
它像$_FILES
变量是空的。有没有什么办法解决这一问题?
所以我有这样的代码:
<form name="form" action="./" method="post">
<input type="file" name="newfile" id="newfile" />
</form>
当我运行的操作页面上的这个PHP脚本,什么都不会发生
echo "$_FILES['newfile']['name'];
print_r($_FILES);
它像$_FILES
变量是空的。有没有什么办法解决这一问题?
您需要在表单上设置enctype="multipart/form-data"
属性。
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
如果不指定<form … enctype="multipart/form-data">
那么数据将在不支持文件的方式进行编码。
添加具有该值的属性。
ENCTYPE =内容类型[CI]
该属性指定用于将形式提交给服务器(内容类型时方法的值是“后“)。该属性的默认值是“application/x-www-form-urlencoded”。值“multipart/form-data”应该与INPUT元素结合使用,type =“file”。
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
echo "$_FILES['newfile']['name'];
这是一个语法错误。应该
echo $_FILES['newfile']['name'];
或
echo "{$_FILES['newfile']['name']}";
完美工作,谢谢 – DontTurnAround