php表单数据上传不了 php表单数据上传不了怎么回事

php上传文件错误怎么解决html
body
form enctype="multipart/form-data" action="upload.php" method="post"
input type="hidden" name="MAX_FILE_SIZE" value="https://www.04ip.com/post/1000000" /
Choose a file to upload: input name="uploaded_file" type="file" /
input type="submit" value="https://www.04ip.com/post/Upload" /
/form
/body
/html
有一些规则需要建设时遵循HTML表单 。首先,请确保该窗体使用POST方法 。第二,形
式需要以下属性:字符编码=“多重/表单数据” 。它指定php表单数据上传不了的内容类型时使用的信息提
交给伺服器 。如果没有这些要求,您的文件上传不了 。
另一个需要注意的是隐藏的表单字段名为MAX_FILE_SIZE设置的值 。某些Web浏览器实
际上反映了这个领域,也不会允许用户上载文件超过这个数字(字节)更大 。您应该
将此值设置为配合最大上传大小,在php.ini文件中设置 。这是一套与中
upload_max_filesize,默认值是2MB的 。但它仍然不能保证php表单数据上传不了你的脚本将不会转交了尺
寸较大的文件 。危险的是,攻击者将尝试向您发送一个请求几个大文件,并填写了文
件系统,也就是PHP存储解码文件 。设置在php.ini的post_max_size的指令文件的最大
尺寸,你要(必须大于中upload_max_filesize) 。默认值为10MB的 。此指令控制的所
有要求 , 在一个允许的POST数据最大大小 。另外,还要确保在你的php.ini文件
file_uploads设置为On 。
至少,有一个在输入标记属性看:类型=“文件” 。它是用来指定为文件选择控制输入
元素 。这提供了一个文件的URI的地方 , 则需要键入一个“浏览”按钮,可作为替代的
URI输入使用 。
在用户进入一个文件的URI,并点击提交按钮的文件的副本将被发送到服务器和用户将
被重定向到upload.php 。此PHP文件将处理表单数据 。
返回页首
处理表单数据(PHP代码)
当文件被上传和PHP创建了一个文件的临时副本,并建立了超全局变量$ _FILES数组,
包含有关文件的信息 。对于每个文件,有5个数据 。php表单数据上传不了我们已上传字段命名
为'uploaded_file',所以会存在以下数据:
变量$ _FILES [“uploaded_file”] [“name”]从用户的机器上载的文件的原名称
变量$ _FILES [“uploaded_file”] [“type”]的上传文件的MIME类型(如果浏览器
提供的类型)
变量$ _FILES [“uploaded_file”] [“size”]的以字节为单位上传的文件大小
变量$ _FILES [“uploaded_file”] [“tmp_name”],在该文件暂时存储在服务器上
的位置
变量$ _FILES [“uploaded_file”] [“error”]错误代码从文件上传结果
下面的例子接受一个上传的文件并保存在上载目录中 。它允许根据350Kb上传只有JPEG
图像 。该代码本身,是相当清楚的,但我们会作出一些解释 。有一个例子在外观和保
存此为upload.php PHP代码 。
?php
//Сheck that we have a file
if((!empty($_FILES["uploaded_file"]))($_FILES['uploaded_file']['error']
== 0)) {
//Check if the file is JPEG image and it's size is less than 350Kb
$filename = basename($_FILES['uploaded_file']['name']);
$ext = substr($filename, strrpos($filename, '.') + 1);
if (($ext == "jpg")($_FILES["uploaded_file"]["type"] == "image/jpeg")
($_FILES["uploaded_file"]["size"]350000)) {
//Determine the path to which we want to save this file
$newname = dirname(__FILE__).'/upload/'.$filename;
//Check if the file with the same name is already exists on the
server
if (!file_exists($newname)) {
//Attempt to move the uploaded file to it's new place

推荐阅读