PHP入门教程之上传文件实例详解
本文实例讲述了PHP上传文件的方法。分享给大家供大家参考,具体如下:
Demo1.php
上传文件:
Demo2.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 "";
?>
Demo3.php
$url = $_GET['url'];
echo "";
?>
希望本文所述对大家PHP程序设计有所帮助。
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
您可能感兴趣的文章: