本文实例讲述了PHP上传文件的方法。分享给大家供大家参考,具体如下:
Demo1.PHP
PHP;">
Demo2.PHP
PHP;">
PHP
//接受上传文件
//$_FILES;
//存在,但是空值
//[userfile][name] 表示上传的文件名
//[userfile][type] 表示文件类型:例如,jpg 的文件类型为:image/jpeg
//[userfile][tmp_name]表示上传的文件临时存放的位置 C:\WINDOWS\temp\PHP28.tmp
//[userfile][error]表示错误类型,表示没有任何错误。
//[userfile][size]表示上传文件的大小
print_r($_FILES);
echo '
'; //is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的 //通过 HTTP POST 上传后,文件会存放在临时文件夹下 $fileMimes = array('image/jpeg','image/pjpeg','image/gif','image/png','image/x-png'); //判断类型是否是数组里的一种 if(is_array($fileMimes)){ if(!in_array($_FILES['userfile']['type'],$fileMimes)){ echo ""; exit; } } //创建一个常量 define('URL',dirname(__FILE__).'\uploads'); echo URL; //判断目录是否存在 if(!is_dir(URL)){ mkdir(URL,0777); //最大权限0777,意思是如果没有这个目录,那么就创建 } define('MAX_SIZE',2000000); if($_FILES['userfile']['size'] > MAX_SIZE){ echo ""; exit; } //还有两个问题要验证 //第二个问题,只允许 JPG 文件 // if($_FILES['userfile']['type'] != 'image/jpeg' && $_FILES['userfile']['type'] != 'image/pjpeg'){ // echo ""; // exit ; // } // switch ($_FILES['userfile']['type']){ // case 'image/jpeg'://火狐 // break; // case 'image/pjpeg': // break; // case 'image/gif': // break; // case 'image/png'://火狐 // break; // case 'image/x-png'://IE // break; // default: echo ""; // exit ; // } //第一个问题,如果上传错误,怎么办 if($_FILES['userfile']['error']>0){ switch ($_FILES['userfile']['error']){ case 1:echo ""; break; case 2:echo ""; break; case 3:echo ""; break; case 4:echo ""; break; } exit; } if(is_uploaded_file($_FILES['userfile']['tmp_name'])){ //就在这里移动了 //move_uploaded_file -- 将上传的文件移动到新位置 //第一个参数,写上临时文件的地址, //第二个参数,第二个参数要写上你要存在的地址 //先去判断这个目录是否存在 //如果想屏蔽掉警告,直接加上 @ if(!move_uploaded_file($_FILES['userfile']['tmp_name'],URL.'/'.$_FILES['userfile']['name'])){ //如果移动失败,就失败 echo '移动失败'; exit; } }else{ echo ""; exit; } //全部通过就上传成功了 //必须传一个值给Demo3.PHP //文件上传的地址 echo ""; ?>
'; //is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的 //通过 HTTP POST 上传后,文件会存放在临时文件夹下 $fileMimes = array('image/jpeg','image/pjpeg','image/gif','image/png','image/x-png'); //判断类型是否是数组里的一种 if(is_array($fileMimes)){ if(!in_array($_FILES['userfile']['type'],$fileMimes)){ echo ""; exit; } } //创建一个常量 define('URL',dirname(__FILE__).'\uploads'); echo URL; //判断目录是否存在 if(!is_dir(URL)){ mkdir(URL,0777); //最大权限0777,意思是如果没有这个目录,那么就创建 } define('MAX_SIZE',2000000); if($_FILES['userfile']['size'] > MAX_SIZE){ echo ""; exit; } //还有两个问题要验证 //第二个问题,只允许 JPG 文件 // if($_FILES['userfile']['type'] != 'image/jpeg' && $_FILES['userfile']['type'] != 'image/pjpeg'){ // echo ""; // exit ; // } // switch ($_FILES['userfile']['type']){ // case 'image/jpeg'://火狐 // break; // case 'image/pjpeg': // break; // case 'image/gif': // break; // case 'image/png'://火狐 // break; // case 'image/x-png'://IE // break; // default: echo ""; // exit ; // } //第一个问题,如果上传错误,怎么办 if($_FILES['userfile']['error']>0){ switch ($_FILES['userfile']['error']){ case 1:echo ""; break; case 2:echo ""; break; case 3:echo ""; break; case 4:echo ""; break; } exit; } if(is_uploaded_file($_FILES['userfile']['tmp_name'])){ //就在这里移动了 //move_uploaded_file -- 将上传的文件移动到新位置 //第一个参数,写上临时文件的地址, //第二个参数,第二个参数要写上你要存在的地址 //先去判断这个目录是否存在 //如果想屏蔽掉警告,直接加上 @ if(!move_uploaded_file($_FILES['userfile']['tmp_name'],URL.'/'.$_FILES['userfile']['name'])){ //如果移动失败,就失败 echo '移动失败'; exit; } }else{ echo ""; exit; } //全部通过就上传成功了 //必须传一个值给Demo3.PHP //文件上传的地址 echo ""; ?>
Demo3.PHP
PHP;">
PHP
$url = $_GET['url'];
echo "
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。