各位老铁们好,相信很多人对网站php源码分享教程都不是特别的了解,因此呢,今天就来为大家分享下关于网站php源码分享教程以及官方网站php源码的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本篇文章主要给大家详细介绍PHP文件上传方法及其信息解析。
用php实现文件上传功能在PHP项目开发中是比较常见的,但是对于一些新手来说或许有些难度,下面我们通过具体的代码实例给大家详细解说。
首先创建一个文件上传的HTMLform表单.
代码示例如下:
<!DOCTYPEhtml>
<html>
<head>
<metacharset=”UTF-8″>
<title>Title</title>
</head>
<body>
<formaction=”upload.php”method=”post”enctype=”multipart/form-data”>
选择文件进行上传:<inputtype=”file”name=”file”>
<inputtype=”submit”value=”上传”>
</form>
</body>
</html>
效果如图:
在上述代码中,我们给input按钮设置了file类型,并且给上传的文件名称也设置为file。当我们点击选择文件或者图片时,form表单数据就会发送到upload.php中,然后对上传的文件进行相关的操作。
那么在upload.php文件中,我们将定义一个方法对上传的文件进行相关信息解析操作.
具体代码示例如下:
<?php
$fileInfo=$_FILES[‘file’];
var_dump($_FILES[‘file’]);
functionupload_file($fileInfo,$upload=”./upload”,$imagesExt=[‘gif’,’png’,’jpg’])
{
if($fileInfo[‘error’]===0){
$ext=strtolower(pathinfo($fileInfo[‘name’],PATHINFO_EXTENSION));
if(!in_array($ext,$imagesExt)){
return”文件非法类型”;
}
if(!is_dir($upload)){
mkdir($upload,0777,true);
}
$fileName=md5(uniqid(microtime(true),true)).”.”.$ext;
$destName=$upload.”/”.$fileName;
if(!move_uploaded_file($fileInfo[‘tmp_name’],$destName)){
return”文件上传失败!”;
}
return”文件上传成功!”;
}else{
switch($fileInfo[‘error’]){
case1:
echo’上传的文件超过了php.ini中upload_max_filesize选项限制的值’;
break;
case2:
echo’上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值’;
break;
case3:
echo’文件只有部分被上传’;
break;
case4:
echo’没有文件被上传’;
break;
case6:
echo’找不到临时文件夹’;
break;
case7:
echo’文件写入失败’;
break;
}
}
}
var_dump(upload_file($fileInfo));
在上述PHP代码中定义了一个变量$fileInfo来接收form表单上传来的数据,再用var_dump函数打印出上传文件file的信息,且以数组方式显示。
那么在还没有设置方法对文件进行判断时,直接通过浏览器访问出现的效果如下图:
提示:error表示的是错误信息说明,这里的错误号为0,即表示上传的文件没有任何错误。但是在PHP手册中,错误号不止为0。
下面通过表格形式给大家简单总结下error错误号的几种情况
值为0
值为1值为2值为3值为4值为6值为7没有错误发生,文件上传成功。上传的文件超过了php.ini中upload_max_filesize选项限制的值。上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。文件只有部分被上传。没有文件被上传找不到临时文件夹。PHP4.3.10和PHP5.0.3引进。文件写入失败。PHP5.1.0引进。
那么在了解了error错误号的相关知识后,我们就可以设计PHP上传方法,来对上传文件进行多种判断。在上述代码中已经给大家非常详细的写出了方法判断的具体代码,首先我们定义了upload_file()这个方法,其中赋予了三个参数,分别表示文件上传信息,目录以及判定文件类型的一个数组。
然后使用ifelse以及switch判断语句对上传文件进行一一判断。
这里的方法里分别根据了文件的类型、上传文件夹存在与否以及error错误信息情况来进行判断的。
最后我们上传一个图片后,显示的最终效果为下图:
注:上述代码中md5()函数不是用来加密,而是用来编码的。
以上文章内容就是关于PHP文件上传的具体方法介绍,希望对有需要朋友有所帮助!其对应的视频教程是【PHP文件上传信息解析以及封装上传方法】可供大家参考学习!
以上就是PHP文件上传方法详解及其信息解析【附视频】的详细内容,更多请关注其它相关文章!
更多技巧请《转发+关注》哦!
文章到此结束,如果本次分享的网站php源码分享教程和官方网站php源码的问题解决了您的问题,那么我们由衷的感到高兴!
