ajax+php上次图片

栏目: PHP · 发布时间: 5年前

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

HTML:

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

ajax:

$("#changeImg").change(function () {

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;


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通正则表达式

精通正则表达式

弗里德尔 / 东南大学出版社 / 2005-9 / 72.00元

正则表达式是一种用来操作文本和数据的强大工具。近年来,它们快速广泛传播,并被多种流行工具和语言作为标准特性提供,如Perl、Java、VB.NET、C#(及任何使用.NET框架的语言)、PHP、Python、Ruby、Tcl、MySQL、awk、Emacs等。 如果还未使用过正则表达式,从本书中您将发现一个掌控数据的全新世界。如果使用过它们,您将会充分意识到本书空前的深度和广度。如果您认为自己已经......一起来看看 《精通正则表达式》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器