此参数可以结合layui 上传图片功能操作! layui上传图片的时候只上传了一个图片信息! 用getimagesize来判断上传图片的类型比$_FILES函数的type更可靠同一个文件,使用不同的浏览器php返回的type类型是不一样的,由浏览器提供type类型的话,就有可能被黑客利用向服务器提交一个伪装撑图片后缀的可执行文件。 而我们接收的时候则需要获取类型等参数! ?php header( Content-Type:text/html;charset=utf-8 ); $size = getimag […]
此参数可以结合layui 上传图片功能操作!
layui上传图片的时候只上传了一个图片信息!
用getimagesize来判断上传图片的类型比$_FILES函数的type更可靠 同一个文件,使用不同的浏览器php返回的type类型是不一样的,由浏览器提供type类型的话, 就有可能被黑客利用向服务器提交一个伪装撑图片后缀的可执行文件。
而我们接收的时候则需要获取类型等参数!
<?phpheader("Content-Type: text/html; charset=utf-8");$size= getimagesize("images/ad2.jpg");//$size返回6个$fp = fopen("images/ad2.jpg", "r");//判断能否打开! r是以只读方式打开if ($size && $fp) { echo $size['mime'];} else { error;}?> |
$size返回的参数!
Array( [0] => 290 [1] => 69 [2] => 3 [3] => width="290" height="69" [bits] => 8 [mime] => image/png )返回结果说明索引 0 给出的是图像宽度的像素值索引 1 给出的是图像高度的像素值索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 <image> 标签索引 bits 给出的是图像的每种颜色的位数,二进制格式索引 channels 给出的是图像的通道值,RGB 图像默认是 3索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header("Content-type: image/jpeg"); |
我们就可以根据,来判断提交图片的信息从而返回结果了!
if ($size && $fp) {} |
fopen 可以结合fpassthru() 函数输出文件指针处的所有剩余数据。使用
mode 有下列几种形态字符串:
| 字符串 | 说明 |
| r | 以只读方式打开文件,该文件必须存在。 |
| r+ | 以读/写方式打开文件,该文件必须存在。 |
| rb+ | 以读/写方式打开一个二进制文件,只允许读/写数据。 |
| rt+ | 以读/写方式打开一个文本文件,允许读和写。 |
| w | 打开只写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。 |
| w+ | 打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。 |
| a | 以附加的方式打开只写文件。若文件不存在,则会创建该文件;如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF 符保留)。 |
| a+ | 以附加方式打开可读/写的文件。若文件不存在,则会创建该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF符不保留)。 |
| wb | 以只写方式打开或新建一个二进制文件,只允许写数据。 |
| wb+ | 以读/写方式打开或新建一个二进制文件,允许读和写。 |
| wt+ | 以读/写方式打开或新建一个文本文件,允许读和写。 |
| at+ | 以读/写方式打开一个文本文件,允许读或在文本末追加数据。 |
| ab+ | 以读/写方式打开一个二进制文件,允许读或在文件末追加数据。 |
以 x 结尾的模式为独占模式,文件已存在或者无法创建(一般是路径不正确)都会导致 fopen 失败。文件以操作系统支持的独占模式打开。
我们可以结合织梦的提交即可!
//ajax上传略缩图 复制uploadLitpic函数一份else if($dopost=="ajaxuploadLitpic"){ $file=$file;//获取layui提交的图片 $img = getimagesize($file);//获取提交图片数据 $fp = fopen($file, "r");//判断图片是否存在 if ($img && $fp) {//双重判断 $type=$img['mime'];//获取图片类型! $upfile = AdminUpload($file,'imagelit', 0, false,$type);//提交图片获取返回值 |
完整的部分