一、文件上传
1、简介
2、客户端
3、服务器端
**3.1、接受数组($_FILES)**
3.2、错误值
3.3、移动文件move_upload_file
3.4、文件类型限制
4、练习(单文件上传)
<!--上传文件--> <?php function fun_upload($error,$type,$size,$tempName){ if (!empty($_POST)) { if ($error==0) { //限制文件类型 switch ($type) { case 'image/jpeg': $hz=".jpg"; break; case 'image/pjpeg': $hz=".jpg"; break; case 'image/gif': $hz=".gif"; break; case 'image/png': $hz=".png"; break; case 'image/x-png': $hz=".png"; break; default: $hz=false; break; } if (!$hz) { echo "文件类型不正确!必须是jpg/png/gif格式"; } else{ //限制文件大小 if ($size>=200000) { echo "文件大小不能超过200K!"; } else{ //创建目录 if (!file_exists("./upload/".date("Y"))) { //创建年文件夹 mkdir("./upload/".date("Y")); //创建月日文件夹 mkdir("./upload/".date("Y")."/".date("md")); } else if (!file_exists("./upload/".date("Y")."/".date("md"))) { mkdir("./upload/".date("Y")."/".date("md")); } //移动文件 if (move_uploaded_file($tempName, "./upload/".date("Y")."/".date("md")."/".rand(1000,9999).time().$hz)) { echo "上传成功!"; } else{ echo "上传失败!请检查是否存在upload文件夹或者是否有权限"; } } } } else{ echo "上传失败!请检查文件大小是否超过服务器或客户端的配置"; } } } ?> <form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"/> <input type="file" name="head"/> <input type="submit" name="sub" value="上传"/> </form>
二、文件下载
1、下载链接
<!--浏览器解析不了的文件,就支持直接下载--> <a href="./web.rar">点击下载</a>
2、file_get_contents
<?php //获取远程文件 $str=file_get_contents("http://c.photos.baidu.com/09898766.jpg"); $fp=fopen("./meinv.jpg", "w"); //写到本地 fwrite($fp, $str); //关闭资源 fclose($fp); ?>