今天看了一本关于PHP的书,让我了解了PHP上传文件的方法,最主要的两个函数是move_uploade_file(临时文件,目标位置和文件名)和is_uploaded_file(),前者用来移动上传后保存在服务器缓存区的文件到目标文件,后者用来判断文件是否上传成功。除了以上两个函数之外,还要说明一下form标签中enctype的值应该如下:
- formenctypeformenctype="multipart/form-data"method="post"name="upform">
只有其值为multipart/form-data才能保证以正确的编码方式上传文件。input标签type属性中的"file"
- inputnameinputname="upfile"type="file">
PHP上传文件代码类saveupload.php
- php
- if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
- $upfile=$_FILES["upfile"];//如果已经选定了要上传的文件,将其索引保存在$upfile中
- //分别去上传文件的名字,类型等
- $name=$upfile["name"];
- $type=$upfile["type"];
- $size=$upfile["size"];
- $tmp_name=$upfile["tmp_name"];
- $error=$upfile["error"];
- //设定上传文件类型
- switch($type){
- case'image/pjpeg':
- $ok=1;
- break;
- case'image/jpeg':
- $ok=1;
- break;
- case'image/png':
- $ok=1;
- break;
- case'image/gif':
- $ok=1;
- break;
- }
- //如果文件类型合法并且$error返回值为0,说明上传成功
- if($ok&&$error=='0'){
- move_uploaded_file($tmp_name,'up/'.$name);//将保存在缓存的文件移动到指定目录下
- echo"上传成功";
- }
- }
- ?>
PHP上传文件代码上传页面upload.php
- -//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
- head>
- metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
- title>uploadtitle>
- styletypestyletype="text/css">
已抢23201个
抢已抢117613个
抢已抢139162个
抢已抢6209个
抢已抢35306个
抢已抢7918个
抢