加载后的php和jquery图像上传按钮

时间:2014-05-12 18:13:38

标签: php jquery

我准备了脚本facebook风格的墙贴。使用Php和Jquery。但我有一个问题。我写了一个上传照片的功能。单击按钮时,将从计算机图片上载图片。并打开图片预览图像(image loading)部分的通道。安装上传图片后的照片按钮再次返回。

问题是(loading image)警告不会消失。此外(loading image)警告未丢失也不会返回按钮上传图片。

提前感谢您的帮助。

的jQuery

$('#photoimg').die('click').live('change', function()           
{ 
var values=$("#uploadvalues").val();
$("#previeww").html('<img src="wall_icons/loader.gif"/>');
$("#imageform").ajaxForm({target: '#preview', 
     beforeSubmit:function(){ 
     $("#imageloadstatus").show();
     $("#imageloadbutton").hide();
     }, 
    success:function(){ 
     $("#imageloadstatus").hide();
     $("#imageloadbutton").show();
    }, 
    error:function(){ 
     $("#imageloadstatus").hide();
     $("#imageloadbutton").show();
    } }).submit();

var X=$('.preview').attr('id');
var Z= X+','+values;
if(Z!='undefined,')
{
$("#uploadvalues").val(Z);
}

});

HTML

<div class="tb-content">
    <div class="ct-tab1">

      <textarea  name="update" id="update" placeholder="Ne düşünüyorsun?" class="contenttextarea" ></textarea>
        <div id="button_hide">
        <div class="secretdiv">
        <div id="webcam_container" class='border'>
<div id="webcam" >
</div>
<div id="webcam_preview">

</div>

<div id='webcam_status'></div>
<div id='webcam_takesnap'>

<input type="button" value=" Resimçek " onclick="return takeSnap();" class="camclick  resimcekbutton"/>
<input type="hidden" id="webcam_count" />
</div>
</div>
<div  id="imageupload" class="border">
<form id="imageform" method="post" enctype="multipart/form-data" action='message_image_ajax.php'> 
<div id='preview'>
</div>

<div id='imageloadstatus'>
<img src='<?php echo $base_url;?>wall_icons/ajaxloader.gif'/> Resim yükleniyor lütfen bekleyin....
</div>
<div id='imageloadbutton'>
<input type="file" name="photoimg" id="photoimg" class="dosyasec" />
</div>
<input type='hidden' id='uploadvalues' />
</form>
</div>
</div>
<div class="videovecamerabutonlari">
<div class="imgbutonu"><a href="javascript:void(0);" id="camera" title="Bilgisayardan resim yükle"><img src="wall_icons/videobutonu.png" border="0" /></a></div>
<div class="videobutonu"><a href="javascript:void(0);" id="webcam_button" title="Webkamera ile resim yükle"><img src="wall_icons/camerabutton.png" border="0" /></a></div>
</div>
<div class="shr">
<input type="submit" id="update_button" class="update_button" value="Paylaş" />
<input type="submit" id="cancel" value="İptal" />
</div>
</div>  
</div>
<div id='flashmessage'>
<div id="flash" align="left"  ></div>
</div>

<?php
    function getExtension($str) 
    {
             $i = strrpos($str,".");
             if (!$i) { return ""; } 
             $l = strlen($str) - $i;
             $ext = substr($str,$i+1,$l);
             return $ext;
     }

 $valid_formats = array("jpg", "png", "gif", "bmp","jpeg","PNG","JPG","JPEG","GIF","BMP");
  if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
    {
        $name = $_FILES['photoimg']['name'];
        $size = $_FILES['photoimg']['size'];

        if(strlen($name))
        {
        $ext = getExtension($name);
        if(in_array($ext,$valid_formats))
        {
        if($size<(10024*10024))
        {
        $actual_image_name = time().$uid.".".$ext;
        $tmp = $_FILES['photoimg']['tmp_name'];
        if(move_uploaded_file($tmp, $path.$actual_image_name))
        {
        $data=$Wall->Image_Upload($uid,$actual_image_name);
        $newdata=$Wall->Get_Upload_Image($uid,$actual_image_name);
        if($newdata)
        {
        echo '<img src="'.$path.$actual_image_name.'"  class="preview" id="'.$newdata['id'].'"/>';

    }
        }
        else
        {
        echo "Fail upload folder with read access.";
        }
        }
        else
        echo "Image file size max 1 MB";                    
        }
        else
        echo "Invalid file format.";    
    }               
    else
    echo "Please select image..!";
        exit;
    }
  ?>

0 个答案:

没有答案