Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在文件上载和插入数据库过程中加载gif_Php_Html_Ajax_Jquery - Fatal编程技术网

Php 如何在文件上载和插入数据库过程中加载gif

Php 如何在文件上载和插入数据库过程中加载gif,php,html,ajax,jquery,Php,Html,Ajax,Jquery,在读取文件并将其插入数据库之前,我必须先将其加载到临时位置。但是我如何在加载gif的同时完成所有这些工作,有人能告诉我吗-谢谢 <input type="file" name="myfile"> <input type="submit" id = "upload" value="Upload"> <div id= "loading_gif"> </div> $(document).ready(function () { $("#upl

在读取文件并将其插入数据库之前,我必须先将其加载到临时位置。但是我如何在加载gif的同时完成所有这些工作,有人能告诉我吗-谢谢

<input type="file" name="myfile">
<input type="submit"  id = "upload" value="Upload">    
<div id= "loading_gif">
</div>


$(document).ready(function () {
$("#upload").click(function () {     

    $.ajax({
        type: "POST",
        url: "upload.php",
        enctype: 'multipart/form-data',
        data: {
            file: myfile
        },
        success: function () {
            alert("Data has been Uploaded: ");
          }
       });
     });
  });



<?php
$temp_location = "tmp/";

if(isset($_FILES["myfile"]))
{    
  if ($_FILES["myfile"]["error"] > 0)
  {
     echo "File loading error! ";
  }
  else
  {        
    move_uploaded_file($_FILES["myfile"]["tmp_name"],
    $temp_location. $_FILES["myfile"]       ["name"]);

    //read myfile and insert data into database

    echo "File uploaded into database";
   } 
  }
?>

$(文档).ready(函数(){
$(“#上载”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“upload.php”,
enctype:“多部分/表单数据”,
数据:{
文件:myfile
},
成功:函数(){
警报(“数据已上传:”);
}
});
});
});

现在,您应该有JQUERY。尝试将以下代码放入代码的
部分,这将加载jquery库

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>

.ajax_overlay{}
.ajax_loader{background:url(“load.gif”)无重复中心透明;宽度:100%;高度:100%;}
功能ajaxLoader(el,选件){
//变成这个。选项
var默认值={
bgColor:“#fff”,
持续时间:800,
不透明度:0.7,
classOveride:错误
}
this.options=jQuery.extend(默认值,选项);
this.container=$(el);
this.init=函数(){
var container=this.container;
//删除任何其他加载程序
这个。删除();
//创建覆盖
var overlay=$('').css({
“背景色”:this.options.bgColor,
“不透明度”:this.options.opacity,
“宽度”:container.width(),
“高度”:container.height(),
'位置':'绝对',
“顶部”:“0px”,
“左”:“0px”,
“z索引”:99999
}).addClass('ajax_overlay');
//添加覆盖类名称以设置新的加载程序样式
if(this.options.classOveride){
overlay.addClass(this.options.classOveride);
}
//将覆盖和加载程序插入DOM
container.append(
overlay.append(
$('').addClass('ajax\u loader')
).fadeIn(this.options.duration)
);
};
this.remove=函数(){
var overlay=this.container.children(“.ajax_overlay”);
if(叠加长度){
overlay.fadeOut(this.options.classOveride,function()){
覆盖。删除();
});
}   
}
this.init();
}   
var装载机;
$(文档).ajaxStart(函数(){
加载器=新的ajaxLoader(“车身”,选项);
});
变量选项={
bgColor:“#fff”,
持续时间:800,
不透明度:0.7,
classOveride:错误
}
$(文档).ajaxcomplete(函数(){
if(loader)loader.remove();
});
为您的代码

<style>
.ajax_overlay {}
.ajax_loader {background: url("loading.gif") no-repeat center center transparent;width:100%;height:100%;}
</style>  

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
 <script>
    function ajaxLoader (el, options) {
        // Becomes this.options
        var defaults = {
            bgColor         : '#fff',
            duration        : 800,
            opacity         : 0.7,
            classOveride    : false
        }
        this.options    = jQuery.extend(defaults, options);
        this.container  = $(el);

    this.init = function() {
        var container = this.container;
        // Delete any other loaders
        this.remove(); 
        // Create the overlay 
        var overlay = $('<div></div>').css({
                'background-color': this.options.bgColor,
                'opacity':this.options.opacity,
                'width':container.width(),
                'height':container.height(),
                'position':'absolute',
                'top':'0px',
                'left':'0px',
                'z-index':99999
        }).addClass('ajax_overlay');
        // add an overiding class name to set new loader style 
        if (this.options.classOveride) {
            overlay.addClass(this.options.classOveride);
        }
        // insert overlay and loader into DOM 
        container.append(
            overlay.append(
                $('<div></div>').addClass('ajax_loader')
            ).fadeIn(this.options.duration)
        );
    };

    this.remove = function(){
        var overlay = this.container.children(".ajax_overlay");
        if (overlay.length) {
            overlay.fadeOut(this.options.classOveride, function() {
                overlay.remove();
            });
        }   
    }

    this.init();
}   
</script>





<input type="file" name="myfile">
<input type="submit"  id = "upload" value="Upload">    
<div id= "loading_gif">
</div>


$(document).ready(function () {
$("#upload").click(function () {     

var loader;
$(document).ajaxStart(function(){  
        loader = new ajaxLoader('body', options);
    });
var options = {
    bgColor         : '#fff',
    duration        : 800,
    opacity     : 0.7,
    classOveride    : false
}

    $.ajax({
        type: "POST",
        url: "upload.php",
        enctype: 'multipart/form-data',
        data: {
            file: myfile
        },
        success: function () {
            alert("Data has been Uploaded: ");
           $(document).ajaxcomplete(function(){   
        if (loader) loader.remove();
    });
          }
       });
     });
  });



<?php
$temp_location = "tmp/";

if(isset($_FILES["myfile"]))
{    
  if ($_FILES["myfile"]["error"] > 0)
  {
     echo "File loading error! ";
  }
  else
  {        
    move_uploaded_file($_FILES["myfile"]["tmp_name"],
    $temp_location. $_FILES["myfile"]       ["name"]);

    //read myfile and insert data into database

    echo "File uploaded into database";
   } 
  }
?>

.ajax_overlay{}
.ajax_loader{background:url(“load.gif”)无重复中心透明;宽度:100%;高度:100%;}
功能ajaxLoader(el,选件){
//变成这个。选项
var默认值={
bgColor:“#fff”,
持续时间:800,
不透明度:0.7,
classOveride:错误
}
this.options=jQuery.extend(默认值,选项);
this.container=$(el);
this.init=函数(){
var container=this.container;
//删除任何其他加载程序
这个。删除();
//创建覆盖
var overlay=$('').css({
“背景色”:this.options.bgColor,
“不透明度”:this.options.opacity,
“宽度”:container.width(),
“高度”:container.height(),
'位置':'绝对',
“顶部”:“0px”,
“左”:“0px”,
“z索引”:99999
}).addClass('ajax_overlay');
//添加覆盖类名称以设置新的加载程序样式
if(this.options.classOveride){
overlay.addClass(this.options.classOveride);
}
//将覆盖和加载程序插入DOM
container.append(
overlay.append(
$('').addClass('ajax\u loader')
).fadeIn(this.options.duration)
);
};
this.remove=函数(){
var overlay=this.container.children(“.ajax_overlay”);
if(叠加长度){
overlay.fadeOut(this.options.classOveride,function()){
覆盖。删除();
});
}   
}
this.init();
}   
$(文档).ready(函数(){
$(“#上载”)。单击(函数(){
var装载机;
$(文档).ajaxStart(函数(){
加载器=新的ajaxLoader(“车身”,选项);
});
变量选项={
bgColor:“#fff”,
持续时间:800,
不透明度:0.7,
classOveride:错误
}
$.ajax({
类型:“POST”,
url:“upload.php”,
enctype:“多部分/表单数据”,
数据:{
文件:myfile
},
成功:函数(){
警报(“数据已上传:”);
$(文档).ajaxcomplete(函数(){
if(loader)loader.remove();
});
}
});
});
});

我假设您有一个图像
正在加载.gif
。 将其放入
img
标签,并将其
id
设置为“加载”,然后使其不可见

<img id='loading' src='loading.gif' style='visibility: hidden;'>

我知道您知道必须将jquery脚本放在文档中的何处:我是不是遗漏了什么?我看不到您的AJAX实现如何显示加载的GIF与服务器上发生的事情无关,因为GIF在浏览器上。@esqew我已经编辑了它。现在标准的AJAX无论如何都不能上传文件。。。这永远不会像写的那样起作用。另外,您的服务器端代码是一个可怕的安全风险,您正在打开您的服务器,使其面临完全的远程危害。在您学会如何安全地处理上载之前,请停止使用此代码
 <style>
.ajax_overlay {}
.ajax_loader {background: url("loading.gif") no-repeat center center transparent;width:100%;height:100%;}
</style>  

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
 <script>
    function ajaxLoader (el, options) {
        // Becomes this.options
        var defaults = {
            bgColor         : '#fff',
            duration        : 800,
            opacity         : 0.7,
            classOveride    : false
        }
        this.options    = jQuery.extend(defaults, options);
        this.container  = $(el);

    this.init = function() {
        var container = this.container;
        // Delete any other loaders
        this.remove(); 
        // Create the overlay 
        var overlay = $('<div></div>').css({
                'background-color': this.options.bgColor,
                'opacity':this.options.opacity,
                'width':container.width(),
                'height':container.height(),
                'position':'absolute',
                'top':'0px',
                'left':'0px',
                'z-index':99999
        }).addClass('ajax_overlay');
        // add an overiding class name to set new loader style 
        if (this.options.classOveride) {
            overlay.addClass(this.options.classOveride);
        }
        // insert overlay and loader into DOM 
        container.append(
            overlay.append(
                $('<div></div>').addClass('ajax_loader')
            ).fadeIn(this.options.duration)
        );
    };

    this.remove = function(){
        var overlay = this.container.children(".ajax_overlay");
        if (overlay.length) {
            overlay.fadeOut(this.options.classOveride, function() {
                overlay.remove();
            });
        }   
    }

    this.init();
}   
</script>

</script>
var loader;
$(document).ajaxStart(function(){   
        loader = new ajaxLoader('body', options);
    });
var options = {
    bgColor         : '#fff',
    duration        : 800,
    opacity     : 0.7,
    classOveride    : false
}


$(document).ajaxcomplete(function(){    
            if (loader) loader.remove();
        });
</script>
<style>
.ajax_overlay {}
.ajax_loader {background: url("loading.gif") no-repeat center center transparent;width:100%;height:100%;}
</style>  

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
 <script>
    function ajaxLoader (el, options) {
        // Becomes this.options
        var defaults = {
            bgColor         : '#fff',
            duration        : 800,
            opacity         : 0.7,
            classOveride    : false
        }
        this.options    = jQuery.extend(defaults, options);
        this.container  = $(el);

    this.init = function() {
        var container = this.container;
        // Delete any other loaders
        this.remove(); 
        // Create the overlay 
        var overlay = $('<div></div>').css({
                'background-color': this.options.bgColor,
                'opacity':this.options.opacity,
                'width':container.width(),
                'height':container.height(),
                'position':'absolute',
                'top':'0px',
                'left':'0px',
                'z-index':99999
        }).addClass('ajax_overlay');
        // add an overiding class name to set new loader style 
        if (this.options.classOveride) {
            overlay.addClass(this.options.classOveride);
        }
        // insert overlay and loader into DOM 
        container.append(
            overlay.append(
                $('<div></div>').addClass('ajax_loader')
            ).fadeIn(this.options.duration)
        );
    };

    this.remove = function(){
        var overlay = this.container.children(".ajax_overlay");
        if (overlay.length) {
            overlay.fadeOut(this.options.classOveride, function() {
                overlay.remove();
            });
        }   
    }

    this.init();
}   
</script>





<input type="file" name="myfile">
<input type="submit"  id = "upload" value="Upload">    
<div id= "loading_gif">
</div>


$(document).ready(function () {
$("#upload").click(function () {     

var loader;
$(document).ajaxStart(function(){  
        loader = new ajaxLoader('body', options);
    });
var options = {
    bgColor         : '#fff',
    duration        : 800,
    opacity     : 0.7,
    classOveride    : false
}

    $.ajax({
        type: "POST",
        url: "upload.php",
        enctype: 'multipart/form-data',
        data: {
            file: myfile
        },
        success: function () {
            alert("Data has been Uploaded: ");
           $(document).ajaxcomplete(function(){   
        if (loader) loader.remove();
    });
          }
       });
     });
  });



<?php
$temp_location = "tmp/";

if(isset($_FILES["myfile"]))
{    
  if ($_FILES["myfile"]["error"] > 0)
  {
     echo "File loading error! ";
  }
  else
  {        
    move_uploaded_file($_FILES["myfile"]["tmp_name"],
    $temp_location. $_FILES["myfile"]       ["name"]);

    //read myfile and insert data into database

    echo "File uploaded into database";
   } 
  }
?>
<img id='loading' src='loading.gif' style='visibility: hidden;'>
<script>
function showLoading(){
document.getElementById("loading").style = "visibility: visible";
}
function hideLoading(){
document.getElementById("loading").style = "visibility: hidden";
}
</script>
$("#upload").click(function () {     
    //call show loading function here
    showLoading();
    $.ajax({
        type: "POST",
        url: "upload.php",
        enctype: 'multipart/form-data',
        data: {
            file: myfile
        },
        success: function () {
            //call hide function here
            hideLoading();
            alert("Data has been Uploaded: ");
        },
        error  : function (a) {//if an error occurs
            hideLoading();
            alert("An error occured while uploading data.\n error code : "+a.statusText);
        }
    });
});