ajax+php上次圖片

HTML:
<input type="file" id="changeImg" value="更換圖片" style="position:absolute;left:0px;top:0px;opacity:0;display:block;width:100%;height:100%;" name="pic">php

ajax:
$("#changeImg").change(function () {html

var data = new FormData();
        //爲FormData對象添加數據
        $.each($('#changeImg')[0].files, function(i, file) {
            data.append('upload_file'+i, file);
        });
        console.log(data);
        //$(".loading").show();    //顯示加載圖片
        //發送數據
        $.ajax({
            url:url,
            type:'POST',  /*提交方式*/
            data:data,
            cache: false,
            contentType: false,        /*不可缺*/
            processData: false,         /*不可缺*/
            success:function(data){
                //data = $(data).html();        /*轉格式*/
                $(".img2").attr("src",data);
                console.log(data);
                console.log(1);
            },
            error:function(){
                alert('上傳出錯');
            }
        });
    })

PHP:
<?php
header('content-type:text/html charset:utf-8');
$dir_base = $_SERVER['DOCUMENT_ROOT']; //文件上傳根目錄
//沒有成功上傳文件,報錯並退出。
$output = "<textarea>";
$index = 0; //$_FILES 以文件name爲數組下標,不適用foreach($_FILES as $index=>$file)
foreach($_FILES as $file){前端

$upload_file_name = 'upload_file' . $index;        //對應index.html FomData中的文件命名
$filename = $_FILES[$upload_file_name]['name'];

$gb_filename = md5(time().rand(1,9999));    //名字轉換成gb2312處理
//文件不存在才上傳
if(!file_exists($dir_base.$gb_filename)) {
    $isMoved = false;  //默認上傳失敗
    $isMoved = @move_uploaded_file ( $_FILES[$upload_file_name]['tmp_name'], $dir_base.$gb_filename.$filename);
    /*$MAXIMUM_FILESIZE = 1 * 1024 * 1024;     //文件大小限制    1M = 1 * 1024 * 1024 B;
    $rEFileTypes = "/^\.(jpg|jpeg|gif|png){1}$/i";
    if ($_FILES[$upload_file_name]['size'] <= $MAXIMUM_FILESIZE &&
        preg_match($rEFileTypes, strrchr($gb_filename, '.'))) {
        $isMoved = @move_uploaded_file ( $_FILES[$upload_file_name]['tmp_name'], $dir_base.$gb_filename);        //上傳文件
    }*/
}else{
    $isMoved = true;    //已存在文件設置爲上傳成功
}
if($isMoved){
    //輸出圖片文件<img>標籤
    //注:在一些系統src可能須要urlencode處理,發現圖片沒法顯示,
    //請嘗試 urlencode($gb_filename) 或 urlencode($filename),不行請查看HTML中顯示的src並酌情解決。
    $output .= "<img src='{$dir_base}{$filename}' title='{$filename}' alt='{$filename}'/>";
}else {
    //上傳失敗則把error.jpg傳回給前端
    $output .= "<img src='{$dir_base}error.jpg' title='{$filename}' alt='{$filename}'/>";
}
$index++;

}
echo $gb_filename.$filename;exit;ajax

相關文章
相關標籤/搜索