I write a php code for ajax image upload
when I don`t use class it works true,
but when I use it in class $_POST is true but $_File is empty:
client side(HTML Jquery):
<pre lang="HTML">
<div style="height:150px;width:97%;padding:10px 8px;">
<form action="upload" method="POST" id="uploadform">
<input type="file" name="file"/>
<input type="submit" value="Upload"/>
<div id="loader" style="display:none;">
<center><img src="load.gif" /></center>
</div>
<div>
جزئیات :
<div id="onsuccessmsg" style="padding:15px;"></div>
</div>
</form>
</div>
<script>
$(document).ready(function(){
function onsuccess(response,status){
$("#loader").hide();
$("#onsuccessmsg").html("Status :<b>"+status+'</b><br><br>Response Data :<div id="msg" style="border:5px solid #CCC;padding:15px;">'+response+'</div>');
}
$("#uploadform").on('submit',function(){
$("#loader").show();
var options={
url : $(this).attr("action"),
success : onsuccess
};
$(this).ajaxSubmit(options);
return false;
});
});
</script>
PHP code without class:
<?php
function getExtension($str) {$i=strrpos($str,".");if(!$i){return"";}$l=strlen($str)-$i;$ext=substr($str,$i+1,$l);return $ext;}
$formats = array("jpg", "png", "gif", "bmp", "jpeg", "PNG", "JPG", "JPEG", "GIF", "BMP");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
if(strlen($name)){
$ext = getExtension($name);
if(in_array($ext,$formats)){
if($size<(1024*1024)){
$imgn = time().".".$ext;
if(move_uploaded_file($tmp, "folder address".$imgn)){
echo "<br/>File Location : folder address".$imgn;
}else{
echo "Uploading Failed.";
}
}else{
echo "Image File Size Max 1 MB";
}
}else{
echo "Invalid Image file format.";
}
}else{
echo "Please select an image.";
exit;
}
}
?>
PHP code with class:
<?php
class Upload
{
function index()
{
#print_r($_POST);exit;
$formats = array("jpg", "png", "gif", "bmp", "jpeg", "PNG", "jpg", "JPEG", "GIF", "BMP","pdf");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$tmp = $_FILES['file']['tmp_name'];
if(strlen($name)){
$i=strrpos($name,".");
if(!$i)
{
$ext="";
}
$l=strlen($name)-$i;
$ext=substr($name,$i+1,$l);
if(in_array($ext,$formats)){
if($size<(1024*1024)){
$imgn = time().".".$ext;
if(move_uploaded_file($tmp, "folder address".$imgn)){
echo "<br/>File Location :folder address".$imgn;
}
else
{
echo "Uploading Failed.";
}
}
else
{
echo "Image File Size Max 1 MB";
}
}
else
{
echo "Invalid Image file format.";
}
}
else
{
echo "Please select an image.";
exit;
}
}
}
}
?>