PHP文件的上传与转移文件路径

IT 文章15秒前更新 小编
0 0 0

本文由优网导航(www.uonce.com)提供,主要讲解关于PHP文件的上传与转移文件路径相关内容。

PHP文件操作$_FILES提取与转移与FILES类型的解释

1.文件的提取与转移路径

HTML文件:

<form enctype="multipart/form-data" action="upload.php" method="post"> 
<input type="hidden" name="MAX_FILE_SIZE" value="1000"> 
<input name="userFile" type="file">          //上传(type)类型为文件  
<input type="submit" value="文件上传">    //type类型为submit代表提交内容
</form> 

注意! 1:得使用表单提交里面内容 2:中的enctype=”multipart/form-data”代表 3:action=”unload.php” //unload.php代表提交到的PHP文件以【文件名.php】写入 4:method用于提交的方式分为GET,. POST 这里用POST比GET更好

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

然后upload.php中可以直接用 $_FILES $_POST $_GET 等函数获取表单内容。

下面来讲解PHP文件方面的几种基本函数用法以及组合使用,首先先了解 $_FILES函数

$_FILES数组内容如下: 
$_FILES['userFile']['name'] 客户端文件的原名称。 
$_FILES['userFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 
$_FILES['userFile']['size'] 已上传文件的大小,单位为字节。 
$_FILES['userFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。 
$_FILES['userFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量) 

UPLOAD_ERR_OK 值:0; 没有错误发生,文件上传成功。 UPLOAD_ERR_INI_SIZE 值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 UPLOAD_ERR_FORM_SIZE 值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 UPLOAD_ERR_PARTIAL 值:3; 文件只有部分被上传。 UPLOAD_ERR_NO_FILE 值:4; 没有文件被上传。 值:5; 上传文件大小为0. 文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。

下面请看范例:

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

<?php 
$uploaddir ="..uploads";
$uploadfile=$uploaddir . $_FILES['userfile']['name'];
echo '<pre>';
if($_FILES['userfile']['error']==0){
  if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)){
    echo "文件有效,上传成功.n";

    }
  else{
    echo "文件有效,但移动失败.n";
  }
}
 else{
    echo "文件上传失败,原因". $_FILES['userfile']['error'] .".n";
  }
echo "文件上传信息:n";
print_r($_FILES);
echo "</pre>";
?>

图中第五行为设置文件上传路径为文件名其中的userfile为自己取的名字,提交HTML提交内容的名字(name=’userfile’)就用$_FILES来提取,后面的name为文件的名字。

图片整体解释如下: 最终目的为上传到上一级uploads目录,在“…uploads”中的…代表上一级目录 uploadfile代表设置上传后的文件名,用$uploadfile与文件名连接起来。

If($_FILES[‘userfile’][‘error’]==0){   //如果error为0那么文件没问题可以运行否则报错
函数move_uploaded_file($_FILE(“提交文件名”,”当前路径”),目标路径);用于将当前目录文件移动到指定目录move_uploaded_file($_FILES[‘userfile’][‘tmp_name’],$uploadfile) //代表将临时文件转移到$uploadfile路径下。
然后使用print_r($_FILES); 来查询提交文件的内容属性。

2.关于_FILES中的type解释:

$_FILES[‘userFile’][‘type’]: type常用值: jpg image/jpeg //图片 jpeg image/jpeg zip application/zip //压缩包 css text/css //css文件 dhtml text/html dll application/octet-stream doc application/msword exe application/octet-stream html text/html asp application/x-asap bin application/octet-stream mov video/quicktime mp3 audio/x-mpeg //mp3格式 mp4 video/mp4 //mp4视频格式 gif image/gif //动图 pdf application/pdf //pdf格式 txt text/plain //text文本格式 xml text/xml //xml格式

知道了常用FILES文件格式后我们可以用它来限制上传的文件格式可以采用if来限定 如:

If($_FILES[‘提交的文件名’][‘type’]!=’text/plain’){
//如果不是text格式那么不输出
	echo “上传文件失败,仅允许文件类型为’text/plain’ . n “;

}else{ 
//属于text格式,继续执行

}

拓展:exif_imagetype(filename)//filename被检测的文件名 判断一个图像的类型

图像类型常量链接: https://www.php.net/manual/zh/function.exif-imagetype.php#71058

ad

免费在线工具导航

优网导航旗下整合全网优质免费、免注册的在线工具导航大全

参考:PHP中文网

相关推荐: pack.wsf wsh下的js加密工具新浪也在用

本文主要讲解关于pack.wsf wsh下的js加密工具新浪也在用相关内容,由优网导航(www.uonce.com)提供,欢迎关注收藏本站!pack.wsf 复制代码 代码如下: <job> <!– Windows Scripting Ho…

© 版权声明

相关文章

暂无评论

暂无评论...