PHP 上传图片和安全处理

上传图片

     public function images()
        {    

            $data = $_FILES[‘file‘];

            switch($data[‘type‘])
            {
                case ‘image/jpeg‘: $ext = ‘jpg‘; break;
                case ‘image/gif‘: $ext = ‘gif‘; break;
                case ‘image/png‘: $ext = ‘png‘; break;
                default: $ext = ‘‘; break;
            }

            if($ext){

                $file_name = uniqid().‘.‘.$ext;          // 新的文件名
                $tmp_name = $data[‘tmp_name‘];        // 服务器上临时文件名
                $file_size = $data[‘size‘];            // 文件大小
                if($file_size > 204800){
                    $result = array(‘stat‘=>‘-2‘,‘str‘=>‘图片大于200K‘);
                      echo json_encode($result);
                     exit;
                }else{
                    $file_path = ‘upload/‘.$file_name;
                    $img_path = "http://aaaaaaaaa/upload/".$file_name;//表单用的

                     if(move_uploaded_file($tmp_name, $file_path) == true ){
                         $result = array(‘stat‘=>‘1‘,‘str‘=>‘添加图片成功‘,‘img‘=>$img_path,‘pic‘=>$file_name);
                     }else{
                         $result = array(‘stat‘=>‘-2‘,‘str‘=>‘添加图片失败‘);
                     }
                     echo json_encode($result);
                     exit;
                 }
             }else{
                  $result = array(‘stat‘=>‘-2‘,‘str‘=>‘图片格式不对‘);
                  echo json_encode($result);
                 exit;
             }
        }
时间: 2024-10-11 01:15:25

PHP 上传图片和安全处理的相关文章

本地上传图片预览

<!DOCTYPE html > <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片上传本地预览,获得图片的base64(可压缩)</title> <style type="text/css"> .upload_image {

java web应用用户上传图片的存储地址

原来工程的上传图片存储地址在web应用的目录下,并且是硬编码到其中的: 每次使用maven tomcat:redeploy以后,这个目录就没有了. 现在想要把上传图片的位置移动到tomcat的webapps目录中专门存放图片的一个目录下. 即,新建的一个images目录用来存放web应用的图片们. 这样就把工程和用户上传图片分离了,以后在redeploy时也不用预先备upload目录,然后再拷贝回去,因而在web应该更新时比较方便些.此外,还想改变文件路径被硬编码到java文件中的现状,所以将文

微信JS-SDK实现上传图片功能

最近在项目开放中,有一个在微信WEB项目中上传图片的需求,一开始使用了传统的<input type="file">的方式去实现,但是后面发现在使用这种传统模式时会由于手机系统的差异而导致一系列的问题,后改用微信JSSDK的方式来实现. 总的来说,利用JSSDK来实现该功能一共分为四步. 1. 调用wx.config(),初始化jssdk的配置,并在jsApiList中配置上传图片需要的四个api('chooseImage','previewImage','uploadIma

jquery html5 file 上传图片显示图片

最近做了一个小例子,在上传用户图像时,如何在上传图片时显示图片.在网上找了很多资料也未能如愿,如是,就用jquery ,html5,实现了,由于开发是在linux 所以未能在ie下测试,在forefox,chrom下是可以的. 一.html下的代码是: <div class=' input_box' > <span class='spac' >头</span>相:<input class="input_style" id="'head

jquery实现上传图片及图片大小验证、图片预览效果代码

jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture(){     var file = $('file_c').value;     if(!/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(file)){            alert("图片类型必须是.gif,jpeg,jpg,png中的一种")        }else{      $('both_form')

检验上传图片大小、尺寸、类型的两种实现方案

做图片上传功能时,我们经常会遇到一个问题就是,就是要对上传的图片进行一个校验,校验的东西包括图片的大小.尺寸(即宽和高)以及图片的类型. 今天我主要介绍两种方式来进行图片的校验,一种是在前端用js校验,另一种是放在服务器端校验.接下来我们来进行介绍 第一种:放在前端用js校验 下面直接贴源代码,注释也写在代码里面 1 <%@ page language="java" contenttype="text/html; charset=UTF-8" pageenco

js 上传图片本地预览缓存

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>文件上传</title> <script src="jQuery.js"></script> <style type="text/css"> #file{ display: block; width: 400px; heigh

vue-update-表单形式复写方法上传图片

handleSave() { const formData = new FormData(); /* eslint-disable */ for (let key in this.dataInfo) { if (Object.prototype.hasOwnProperty.call(this.dataInfo, key)) { formData.append(key, this.dataInfo[key]); } } let para = { headers: {'content-type':

angularJS file-up-load上传图片

<div class="form-group">                            <label class="col-xs-2 control-label col-xs-offset-1">系统图片</label>                            <div class="col-xs-7">                                 

php 上传图片

public function Upload_上传图片() { $path = '/Upload/HuaHua/'.date("Ymd"); Lee::mkFolder($_SESSION["APP_ROOT"].$path); $img = $_REQUEST['question_pic']; $img = str_replace('data:image/jpeg;base64,', '', $img); $img = str_replace(' ', '+',