用PHP实现一个简易版文件上传功能(超细致解说)
<form action="" enctype="multipart/form-data" method="post" > 请选中需要上传的文件:<input type="file" name="upfile" /><br> <input type="submit" value="上传" /> </form>
第一我们需要在form表单中参加 enctype=”multipart/form-data”表示声明表单中会有图片发送, action=”” 表示当前页面提交,method=”post”传输方式为post
<?php if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; $name=$upfile['name']; $tmp_name=$upfile["tmp_name"];//上传文件的暂时存置途径 move_uploaded_file($tmp_name,'up/'.$name); echo "上传成功"; } else{ echo "您还没有上传文件"; } ?>
关键词总结
is_uploaded_file 表示验证文件可否是通过 HTTP POST 上传的,前提成立才可以正常上传
$_FILES[‘upfile’][‘tmp_name’]) 表示猎取到当前传输图片的当地位置
move_uploaded_file($tmp_name,’up/’.$name); ,该办法有两个参数,第一个为上传的文件的文件名,第二个为移动文件到这个位置
2. 文件的写入与读取
第一介绍写入:
$myfile = fopen("comment/" .time().'-'. rand(0, 1000) . ".comment", "a") or die("Unable to open file!"); $txt = time().'<br />'; fwrite($myfile, $txt); fclose($myfile);
其中fopen函数的作用为写入数据,第一个参数为写入文件详细途径,第二个表示将读取到得数据放入该文件中,其中文件名采纳时间戳加上随机数构成,后缀名为comment,a表示写入方式翻开,将文件指针指向文件末尾。假如文件不存在则尝试创立它,or die表示施行失败,就施行Unable to open file!(没法翻开文件)。
第二句表示数据,数据可以是post传输的,也可以是get,随便
第三句fwrite表示写入文件,第一个参数为写入文件的位置,第二个为要写入的数据
第四句表示关闭该文件,表示写入完毕,本次施行完毕
$list = glob("comment/*.comment"); rsort($list); for ($i = 0; count($list) > $i; $i++) { $file_path = $list[$i]; if (file_exists($file_path)) { $fp = fopen($file_path, "r"); $str = fread($fp, filesize($file_path));//指定读取大小,这里把整个文件内容读取出来 echo $str = str_replace("\r\n", "<br />", $str); } }
在介绍读取:
关键语句为
第一句:第一使用(glob)先寻到需要读取的文件,假如有许多相符前提的文件,那么他们将会使用数组停止留存,读取的时候使用遍历数组就可以了
第二句: rsort为落序排序,主如果为了知足特定前提下的排序,例如依照公布时间
第三句:由于可以通过var_dump,print等知道glob是以数组的情势留存途径的,所以我们使用count算出总数,然后一条条遍历,便可以得到需要读取的文件途径
第四句:$file_path猎取文件途径
第五句:file_exists推断文件可否存在
第六句:fopen读取该文件,并且以只读的方式翻开
第七句:fread第一个参数表示读取的东西,第二个表示读取的文件的大小,这里也就表示有多少读多少
第八句:str_replace更换函数,表示将$str中的所有的\r\n都更换成br(表示换行,换成网页中的换行)
以上就是用PHP实现一个简易版文件上传功效(超具体讲解)的具体内容,更多请关注百分百源码网其它相关文章!