php实现图片上传功能的方法

  

php实现图片上传功能的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

php实现图片上传功能的方法:首先创建存储图片的文件夹,然后创建HTML部分,接着创建“uploadHandler。php“文件,最后将文件的图片格式与数组中的元素进行比较并实现上传即可。

 php实现图片上传功能的方法

<强> php中的图片上传操作

? ?前端编程中,有时需要允许浏览者上传某张图片,这样的功能我们可以通过PHP来实现。

一。创建存储图片的文件夹

? ?在这里,我们创建文件夹“文件”来存放用户上传的图片,此时文件夹是空的,文件夹创建地址可以自己选择,但是最好建立在方便使用的位置。

二。创建HTML部分(uploadfile.html)

? ?这里我们使用了HTML的形式表单标签,以及表单中的

& lt;输入类型=癴ile"祝辞来选择图片文件   & lt;输入类型=皊ubmit"祝辞来提交图片相关信息

代码如下:

& lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元charset=癠TF-8"祝辞   & lt; title> & lt;/title>   & lt;/head>   & lt; body>   action=& lt;形式“uploadHandler.php"方法=皃ost"enctype=岸嗖糠?form-data"比;   上传Img: & lt;输入类型=癴ile"name=癷mg"/比;   & lt;输入类型=皊ubmit"值=https://www.yisu.com/zixun/"上传"/>   

注意:

? ? 1。形式表单里的动作连接到之后将会创建的处理图片上传的。php文件。

? ? 2。在形式的属性中必须注明enctype=岸嗖糠?form-data" .enctype属性规定在将表单数据发送到服务器之前如何对其进行编码.multipart/格式不对字符编码。当使用有文件上传控件的表单时,该值是必需的。

? ? 3。在这里,我们使用的是发布方法。

三。创建PHP部分(uploadHandler.php)

1。原理

? ?我们创建一个php文件,在其中只输入

& lt; ?php var_dump(带有_file美元);?在

? ?那么我们会打印到一个相应的数(1)组。

? ? arr(1)的数组结构为:

数组(1){   (“img")=比;数组(5){   (“name")=比;字符串(* *)“AAAAAAA.jpg"//图片名   (“type")=比;字符串(10)“图像/jpeg"//图片格式   (“tmp_name")=比;字符串(45)“/应用程序/XAMPP/xamppfiles/temp/phpVZQY0m"//图片缓存地址   (“error")=比;int(0)//上传图片错误数   (“size")=比;int(124246)//图片大小   }   }

? ?在数组数组下有一个元素(“img"),而在(“img")下是一个二维数组,这个二维数组有五个元素,分别为:名称/类型/tmp_name/错误/大小。

? ?通过这几个属性我们得到了一个图片的基本信息,下一步我们要通过对这几个基本属性进行判断而将图片存进文件夹。

2。实际操作

? ?进行如下判断:

错误[有]:提示错误?

错误(无):下一步?

? ? ? ?╙类型(非img):提示错误?

? ? ? ?╙类型[img]:下一步?

? ? ? ? ? ?╙类型(非jpeg):提示错误?

? ? ? ? ? ?╙类型(jpeg):下一步?

? ?如果满足如上的判断,那么我们认为这张图片是可以保存的。

? ?为避免图片命名的重复,我们使用时间戳概念,拼接成一个新的文件名,让每张图片的命名都是唯一的。

? ?且我们可以创建一个数组,数组内的元素是各种图片格式,将文件的图片格式与数组中的元素进行比较,不是我们认可的图片格式将不予保存。

代码如下:

& lt; php ?//接收文件   带有_file美元var_dump ();//区别于$ _POST, $ _GET   print_r(带有_file美元);   文件=带有_file美元(“img");//先判断有没有错   如果($文件(“error")==0) {//成功//判断传输的文件是否是图片,类型是否合适//获取传输的文件类型   $ typeArr=爆炸(“/?$文件(“type"));   如果($ typeArr [0]==癷mage") {//如果是图片类型   $ imgType=阵列(“png",“jpg",“jpeg");   如果(in_array ($ typeArr [1], imgType美元)){//图片格式是数组中的一个//类型检查无误,保存到文件夹内//给图片定一个新名字(使用时间戳,防止重复)   $ imgname=拔募??time()干净干净。美元typeArr [1];//将上传的文件写入到文件夹中//参数1:图片在服务器缓存的地址//参数2:图片的目的地址(最终保存的位置)//最终会有一个布尔返回值   (表示“函数的美元文件(“tmp_name") imgname美元);   如果美元(bol) {   回声“上传成功!“;   其他}{   回声“上传失败!“;   };   };   其他}{//不是图片类型   回应“没有图片,再检查一下吧!“;   };   其他}{//失败   echo $文件(“error");   };   ?在

php实现图片上传功能的方法