|
一、php配置文件中和上传有关的配置选项【经测试,修改配置
文件修改的是wamp下的apache下的php.ini】
* php.ini里面
* file_uploads=on是必须的,不然文件写得再对都上
传不到服务器上。
* upload_max_filesize=20M 这个值一定不要超过
服务器的内存大小。
* post_max_size=250M 这个值是post的最大值,
一定要比上传文件的最大值要大。
上传上去的数据临时存在什么地方?
upload_tmp_dir=c:/uploads/
* 在脚本执行完以后,临时文件会删除,所以在脚本执行
完以前一定要把你上传的文件copy出来,不然就没了。
二、上传需要注意的事项
* 文件上传表单需要注意什么?
* 1.如果有文件上传操作,表单的提交方法method=post,
必须用post。
* 2.表单上传需要使用类型为file的input
* 3.enctype="multipart/form-data" 只有文件上传时
才用这个,用来指定表单编码的数据方式。让服务器知道我们要传递
文件。
* 并带有一些常规的信息。加在form里面和method一样。
* 三、php处理上传的数据
* $_POST提取post方法提交的的表单数据,如果是文件上传的
数据则使用$_FILES接收文件,而$_POST接收
例子:
<form method="post" enctype="multipart/form-data" action="http://localhost:90/MDS_Admin/c_down/UploadFile">
<table align="center" width="365" height="107" style="border:solid thin #CCC; display:none" id="table_file">
<tr>
<td align="right" colspan="2" id="img_x"><img src="<{$BASEURL}>/application/views/resource/img/close.png" /></td>
</tr>
<tr>
<th> Description:</th>
<td><input id="file_id" type="text" size="33"/></td>
</tr>
<tr>
<th>File:</th>
<td><input type="file" id="Fid" name="upfile"/></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="Submit" id="btn_submit"/></td>
</tr>
</table>
</form>
-------control中
public function UploadFile(){
//var_dump($_FILES);
echo($_FILES['upfile']['name']);
$path="./data/";
if(is_uploaded_file($_FILES['upfile']['tmp_name']))
{
if(move_uploaded_file($_FILES['upfile']['tmp_name'],$path.$_FILES['upfile']['name']))
//if(move_uploaded_file($_FILES['upfile']['tmp_name'],$path.$hz))
{
echo "<script> {alert('上传成功!!!');location.href='http://localhost:90/MDS_Admin/c_downmanagement/c_down'} </script>";
}
else
{
echo "上传失败";
}
}
else
{
var_dump($tmppath.$_FILES['upfile']['name']);
echo "不是上传的文件。<br/>";
}
}