PDA

View Full Version : اصلاح کد ارسال همزمان آپلود عکس و متن با ajax



saeed-71
یک شنبه 18 اسفند 1392, 16:39 عصر
سلام.
من کد اپلود عکسو پیدا کردمو جواب داد اما نفهمیدم چجوری یه تکست باکسو با متد پستم همراش بفرستم!
یه سوال مهم : اگه طرف بیاد کدای جاوا اسکریپتو غیر فعال کنه که دیگه سایت از کار میفته و چیزی ارسال نمیشه پس چرا میگن ajax خوبه؟؟

این کد جاوا

// JavaScript Document
$(document).ready(function() {
var options = {
target: '#output', // target element(s) to be updated with server response
beforeSubmit: beforeSubmit, // pre-submit callback
success: afterSuccess, // post-submit callback
uploadProgress: OnProgress, //upload progress callback
resetForm: true // reset the form after successful submit
};

$('#MyUploadForm').submit(function() {
$(this).ajaxSubmit(options);
// always return false to prevent standard browser submit and page navigation
return false;
});


//function after succesful file upload (when server response)
function afterSuccess()
{
$('#submit-btn').show(); //hide submit button
$('#loading-img').hide(); //hide submit button
$('#progressbox').delay( 2000 ).fadeOut(); //hide progress bar

}

//function to check file size before uploading.
function beforeSubmit(){

}

//progress bar function
function OnProgress(event, position, total, percentComplete)
{
//Progress bar
$('#progressbox').show();
$('#progressbar').width(percentComplete + '%') //update progressbar percent complete
$('#statustxt').html(percentComplete + '%'); //update status text
if(percentComplete>50)
{
$('#statustxt').css('color','#000'); //change status text to white after 50%
}
}


});





اینم کد ایندکس



<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax File Upload with jQuery and PHP - Demo</title>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/jquery.form.min.js"></script>

<script type="text/javascript" src="js/uploadJS.js"></script>
<link href="style/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="upload-wrapper">
<div align="center">
<h3>Ajax File Uploader</h3>
<form action="processupload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
<input name="file" id="FileInput" type="file" />
<input type="text" id="name" name="name">
<input type="submit" id="submit-btn" value="Upload" />
<img src="images/ajax-loader.gif" id="loading-img" style="display:none;" alt="Please Wait"/>
</form>
<div id="progressbox" ><div id="progressbar"></div ><div id="statustxt">0%</div></div>
<div id="output"></div>
</div>
</div>

</body>
</html>


اینم اپلود عکس و دریافت تکست باکس و چاپش


<?php
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
die('ارتباط بر قرار نشد.');
exit();
}
if(isset($_FILES["file"]))
{
$name=SafeUpload(file,2097152,102400);
echo $name;
$saeed = $_POST['name'];
echo $saeed;
}

else{
echo 'فایلی برای اپلود وجود ندارد ...!';
}


function SafeUpload($name, $max_size, $filesize) {

$root = str_replace('\\', '/', dirname(__FILE__));

$allowedTypes = array ('image/gif', 'image/jpeg', 'image/png', 'image/wbmp');

if(!isset($_FILES [$name])) {

return false;

}

$file = &$_FILES [$name];

if($file ['error'] == 0 && in_array($file ['type'], $allowedTypes) && $file ['size'] <= $max_size) {

$in = '';

switch($file ['type']) {

case 'image/gif':

$in = 'ImageCreateFromGIF';

break;

case 'image/jpeg':

$in = 'ImageCreateFromJPEG';

break;

case 'image/png':

$in = 'ImageCreateFromPNG';

break;

case 'image/wbmp':

$in = 'ImageCreateFromWBMP';

break;

}

if($in == '') {

return false;

}

$src = $in($file ['tmp_name']);

$height = ImageSY($src);

$width = ImageSX($src);

$dst = ImageCreateTrueColor($width, $height);

ImageCopy($dst, $src, 0, 0, 0, 0, $width, $height);

$time = time();

while(file_exists($root . '/uploads/' . $time . '.jpg')) {

$time++;

}

//$quality = 100;

do {

ImageJPEG($dst, $root . '/uploads/' . $time . '.jpg');

}
while(filesize($root . '/uploads/' . $time . '.jpg') > $filesize && $quality > 0);
if(file_exists($root . '/uploads/' . $time . '.jpg')){
echo "فایل با موفقیت اپلود گردید ..."."</br>";
echo "Upload: " . $file["name"] . "<br>";
echo "Type: " . $file["type"] . "<br>";
echo "Size: " . ($file["size"] / 102400) . " kB<br>";
echo "Temp file: " . $file["tmp_name"] . "<br>";
ImageDestroy($dst);
ImageDestroy($src);
$ax = $time . '.jpg';
return $ax;}
else{
echo "فایل اپلود نگردید.";
}

}}