برگزیده های پرشین تولز

سوال در مورد یه برنامه آجاکس

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
سلام دوستان .
من می خوام یه برنامه آپلود فایل بنویسم که با آجاکس کار کنه .

من این مشکل دارم :

من دو تا از کد هایی که در مورد آجاکس بود یکی برای عوض کردن صفحه و یکی برای همین جور form ها که یه چیزی باهاش بفرستیم . با هم قاطی کردم ولی هیچ کدومش کار نکرد .
حالا کمک میخوام ؟؟؟؟
 

shahkey

Registered User
تاریخ عضویت
16 نوامبر 2005
نوشته‌ها
1,235
لایک‌ها
5
سلام دوستان .
من می خوام یه برنامه آپلود فایل بنویسم که با آجاکس کار کنه .

من این مشکل دارم :

من دو تا از کد هایی که در مورد آجاکس بود یکی برای عوض کردن صفحه و یکی برای همین جور form ها که یه چیزی باهاش بفرستیم . با هم قاطی کردم ولی هیچ کدومش کار نکرد .
حالا کمک میخوام ؟؟؟؟
کدار رو بذار!
الان چی حواب بدیم؟
 

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
یکی اینه که دوستان در همین فروم نوشتن :
PHP:
function beload(Location,Destination)
{
	isiusjs = false;
	if (window.XMLHttpRequest)
	{
		isiusjs = new XMLHttpRequest();
		if (isiusjs.overrideMimeType)
		{
			isiusjs.overrideMimeType("text/xml");
		}
	}
	else 
	if (window.ActiveXObject)
	{
		try
		{
			isiusjs = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				isiusjs = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
			}
		}
	}
	
	if (!isiusjs)
	{
		alert("CONNECT FAILURE BABY"); 
		return false;
	}
	
	imageloading(Destination);
	isiusjs.onreadystatechange = begirtahvil;
	shir = Destination;
	isiusjs.open("GET", Location, true);
	isiusjs.send(null);
}

function begirtahvil()
{
	if (isiusjs.readyState == 4)
	{
		if (isiusjs.status == 200)
		{
			DOMz(isiusjs.responseText);
		}
	}
}
function DOMz(shirini)
{
	document.getElementById(shir).innerHTML = shirini
}
function imageloading(roxito)
{
	document.getElementById(roxito).innerHTML = 'loading..';
}

و دیگری هم باز تو همین فروم گذاشتن :
PHP:
 <script language="javascript"  type="text/javascript">  
function getHTTPObject() {  
  var xmlhttp;  
  /*@cc_on  
  @if (@_jscript_version >= 5)  
    try {  
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");  
    } catch (e) {  
      try {  
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
      } catch (E) {  
        xmlhttp = false;  
      }  
    }  
  @else  
  xmlhttp = false;  
  @end @*/  
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {  
    try {  
      xmlhttp = new XMLHttpRequest();  
    } catch (e) {  
      xmlhttp = false;  
    }  
  }  
  return xmlhttp;  
}  
var http = getHTTPObject(); // We create the HTTP Object  
</script>  

<form name="form1" method="post" action="">  
  <table width="392" border="0" align="center" cellpadding="0" cellspacing="0">  
    <tr>  
      <td width="24"><input name="a" type="text" id="a" size="4" maxlength="4"></td>  
      <td width="21"><div align="center">*</div></td>  
      <td width="36"><div align="center">  
          <input name="b" type="text" id="b" size="4" maxlength="4" onblur="echoResult();">  
        </div></td>  
      <td width="25"><div align="center">=</div></td>  
      <td width="286"><input name="c" type="text" id="c" size="8" maxlength="8"></td>  
    </tr>  
  </table>  
</form>  


<script language="javascript"  type="text/javascript">  
var url = "handleMultiply.php?"; // The server-side script  
function handleHttpResponse() {  
  if (http.readyState == 4) {  
    result = http.responseText;  
    document.getElementById('c').value = result;  
  }  
}  
function echoResult() {  
  var a = document.getElementById("a").value;  
  var b = document.getElementById("b").value;  
  http.open("GET", url + "a=" + a + "&b=" + b, true);  
  http.onreadystatechange = handleHttpResponse;  
  http.send(null);  
}  
</script>  


<?php  
    $a=$_GET['a'];  
    $b=$_GET['b'];  
    $c=$a * $b ;  
    echo $c;  
?>
 

gavbandy

Registered User
تاریخ عضویت
15 فوریه 2005
نوشته‌ها
364
لایک‌ها
3
آپلود کردن با آژاکس یه خورده فرق داره.
شما باید از فریم استفاده کنی.
ربطی به آژاکس نداره.
یعنی تا اونجا که من میدونم آپلود کردن فایل با آژاکس دانشش یه خورده پیشرفتس.
یه فریم مخفی بزار بعد اکشن فرمت را بفرست به اون فریم.
به همین راحتی.
 

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
نه دوست عزیز . من اول کلا با این دو کدی که گذاشتم مشکل دارم .

ینی اول به من بگین این دو تا رو چه جوری با هم قاطی کنم که هم بتونم صفحه رو باهاش عوض کنم و اینکه هم بتونم با فورم یه چیزی بفرستم ......

اینو اول بگین و بعد بریم سر بقیش......
 

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
آقای gavbandy من خودم کمی سره این کدها فکر کردم .
و الان برای یکی کردنشون مشکل ندارم .

فقط اگه می شه بگین با آجاکس میشه آپلود کرد یا نه ؟ فقط همین و راهشم لطفا بگین .
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
دست دوست عزیزم درد نکنه . از راهنماییتون :p :D :lol:
 

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
دوست من میشه این کده رو توضیح بدی کار نمیکنه .
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
دوست من میشه این کده رو توضیح بدی کار نمیکنه .
درسته کار نکرد
من فقط یه سرچ کردم دیگه نگاه نکردم برنامشون کار می کنه یا نه
این برنامه که برات می زارم امتحان کردم ... کاملا سالمه ... فایل رو هم به درسته آپلود می کنه ... شانسی تو کامپیوتر پیداش کردم
فایل همراه این پست رو دانلود کن و بعد از خارج کردت از ZIP توی هر جایی که بود این فایل ها رو ایجاد کن

deletefile.php
کد:
<?php

$homepage="index.php";
if (isset($_GET['filename'])) {	
	if (unlink($_GET['filename'])) {
		header("Location: $homepage");
	}
	else {
		echo "<script type='text/javascript'> alert('Failed to delete: ".$_GET['filename'].". Please try again.');</script>";
	}
}
else {
	echo "File deleted";
}
?>

imageupload.php
کد:
<?php

@session_start();
if (isset($_POST['id'])) {
	$uploadFile=$_GET['dirname']."/".$_FILES[$_POST['id']]['name'];
	if(!is_dir($_GET['dirname'])) {
		echo '<script> alert("Failed to find the final upload directory: "+'.$_GET['dirname'].');</script>';
	}
	if (!copy($_FILES[$_POST['id']]['tmp_name'], $_GET['dirname'].'/'.$_FILES[$_POST['id']]['name'])) {	
		echo '<script> alert("Failed to upload file");</script>';
	}
}
else {
	$uploadFile=$_GET['dirname']."/".$_GET['filename'];
	if (file_exists($uploadFile)) {
		echo "File uploaded. <a href='$uploadFile'>Open File</a> &nbsp;&nbsp;&nbsp; <a href='deletefile.php?filename=".$uploadFile."'>Delete File</a>";	
	}
	else {
		echo "<img src='loading.gif' alt='loading...' />";
	}
}
?>

index.php
کد:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title>AJAX File uploader</title>
		<script type="text/javascript" src="uploader.js" ></script>
	</head>
	<body>
<?php
	// اين متغير دايرکتوري آپلود را تعيين مي کند
	$uploadDirectory = "c:";
	require_once("AjaxFileUploader.inc.php");
	$ajaxFileUploader = new AjaxFileuploader($uploadDirectory);	
	echo $ajaxFileUploader->showFileUploader('id1');
	echo $ajaxFileUploader->showFileUploader('id2');
	echo $ajaxFileUploader->showFileUploader('id4');
?>
</body>
</html>

اگه خاستی خودت کد ها رو بنویسی ajax upload.zip رو دانلود کن
اگه حال تایپ کردن نداشتی full.zip رو دانلود کن که کامل و نیاز به هیچ چیزی نداره
دیگه فکر نمی کنم نیازی به توضیح باشه
فقط از آژاکس با دقت استفاده کنید
موفق پیروز باشید
 

فایل های ضمیمه

  • ajax upload.zip
    2.5 KB · نمایش ها: 8
  • Full.zip
    3.8 KB · نمایش ها: 14

hamekareh

کاربر تازه وارد
تاریخ عضویت
18 دسامبر 2006
نوشته‌ها
457
لایک‌ها
0
سلام دوست عزیزم .
از کمک شما بسیار ممنوونم . فقط اگه بخوام توسایت آپلود کنم برای مثال آدرس مکان آپلود فایل :http://upload.hamekareh.ir/file
باشه . دایرکتوری رو چی باید بذارم . .... :blink:
 

hidensoft

کاربر تازه وارد
تاریخ عضویت
5 ژانویه 2007
نوشته‌ها
54
لایک‌ها
0
اگه دسترسی به اون فلدر رو داشته باشی می تونی آپلود کنی
فقط کافیه آدرس دقیق رو بدی
اگه مشکلی داشتی بگو
 

hamedana

Registered User
تاریخ عضویت
29 دسامبر 2004
نوشته‌ها
372
لایک‌ها
0
سن
41
محل سکونت
Hamedan
آپلود کردن با آژاکس یه خورده فرق داره.
شما باید از فریم استفاده کنی.
ربطی به آژاکس نداره.
یعنی تا اونجا که من میدونم آپلود کردن فایل با آژاکس دانشش یه خورده پیشرفتس.
یه فریم مخفی بزار بعد اکشن فرمت را بفرست به اون فریم.
به همین راحتی.

من این تاپیک رو از زیر اوردم رو چون نیاز داشتم
من این مشکل رو پیدا کردم
و هر چا رفتم دیدم که از فریم استفاده کردن
اما چگونه اکشون رو به یک فریم بدی واسم سوال شده چه گونه؟!
راهنمایی کنید
 
بالا