AJax¼¼Êõ

»ùÓÚPHPµÄAJAX¼¼ÊõʵÏÖÎļþÒì²½ÉÏ´«

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2017-01-07 16:01 ÎÒÒªÆÀÂÛ( )

Òì²½µÄÎļþÉÏ´«ÊÇÔÚÏÖ´úµÄAJAXʵÏÖµÄWebÓ¦ÓÃÀïÃæ¾­³£ÒªÓöµ½£¬±ØÐë½â¾öµÄÎÊÌâ¡£µ«ÊDZê×¼µÄAJAXÀࣨXmlHttpRequest£©ÎÞ·¨ÊµÏÖ´«ÊäÎļþµÄ¹¦ÄÜ¡£Òò´Ë£¬ÕâÀïÌÖÂÛµÄÄÚ

Òì²½µÄÎļþÉÏ´«ÊÇÔÚÏÖ´úµÄAJAXʵÏÖµÄWebÓ¦ÓÃÀïÃæ¾­³£ÒªÓöµ½£¬±ØÐë½â¾öµÄÎÊÌâ¡£µ«ÊDZê×¼µÄAJAXÀࣨXmlHttpRequest£©ÎÞ·¨ÊµÏÖ´«ÊäÎļþµÄ¹¦ÄÜ¡£Òò´Ë£¬ÕâÀïÌÖÂÛµÄÄÚÈݾÍÊÇÈçºÎÔÚAJAXµÄ¼¼ÊõµÄ»ù´¡Ö®ÉϹ¹½¨Òì²½µÄÎļþÉÏ´«¹¦ÄÜ¡£ÔÚÕâ¸ö¹¦Äܵ±ÖÐÐèҪʹÓõ½ÄÚÖõĿò¼°£¨IFRAME£©À´´«ÊäÎļþ¡£Õâ¸ö¹¦ÄÜʵÏÖµÄЧ¹ûÊÇÒ³ÃæÔÚÉÏ´«ÎļþµÄʱºò£¬Óû§»¹¿ÉÒÔʹÓøÃÒ³Ãæ²¢ÇÒÌîдÎļþÃèÊö¡£

¡¡¡¡Õâ¸öÀý×ÓÊÇÎÒÃÇÒýÓÃAJAXµÄ¾­µä°¸Àý½øÐзÖÎöµÄ¡£

¡¡¡¡ÏµÍ³»·¾³

¡¡¡¡· ½Ïа汾µÄä¯ÀÀÆ÷¡£ÀýÈçOpera£¬Firefox»òÕß Internet Explorer¡£

¡¡¡¡· PHP 4.3.0 »ò¸ü¸ß°æ±¾

¡¡¡¡· PHP 5 °æ±¾

¡¡¡¡· PHP ÖÐµÄ 'short_open_tag' Ñ¡ÏÆô(·ñÔò»á·¢Éú½âÎö´íÎó)¡£

¡¡¡¡¹¦ÄÜ·ÖÎö

¡¡¡¡Í¨¹ýÄÚÖõÄIFRAME£¨¿ò¼Ü£©½øÐÐÎļþÉÏ´«¡£¾ß±¸°üÀ¨Èý¸ö²¿·Ö×é³É¡£

¡¡¡¡· ÔÚÒ³ÃæÖмäÓÐÒ»¸ö¼òµ¥µÄ£¼form...±íµ¥£¬±íµ¥Ö»°üº¬ÁË£¼input type="file" ... £¾¿Ø¼þ¡£Õâ¸ö±íµ¥µÄÄ¿±êÁ´½Ó¾ÍÊÇÒ»¸öÒþ²ØµÃIFRAME(ͨ¹ý CSSµÄ·ç¸ñ" display: none;"ʵÏÖ)²¢ÇÒ±íµ¥ÀïÃæΨһһ¸ö¿Ø¼þµÄOnChangeʼþÓÃÀ´´¥·¢JavaScriptº¯Êý¡£Õâ¸öº¯ÊýµÄ×÷ÓÃÊǼì²éÓû§Ìá½»µÄÀ©Õ¹Ãû£¬È»ºóÌá½»±íµ¥¡£

¡¡¡¡· ÔÚ·þÎñÆ÷¶ËÓÃPHP±àдÁËÒ»¸ö´¦Àí¹ý³Ì£¨ÓÃFILEFRAME×ø×¢ÊÍÁË£©¡£Õâ¸ö´¦Àí¹ý³ÌÓÃÀ´°Ñ´Ó¿Í»§¶ËÉÏ´«µÄÎļþ½øÐмì²éºó±£´æÔÚ·þÎñÆ÷£¬²¢ÇÒͨ¹ýJavascript´úÂëµÄÐÎʽ·µ»Ø¸øÓû§¡£·µ»Ø¸øÓû§µÄJavascript½Å±¾Í¨¹ý"parent.window.document"¸ü¸ÄÁËÓû§ÏÖÔÚÕýÔڲ鿴µÄÒ³Ã棬ÉèÖÃÁËÎļþµÄÃû³Æ²¢ÆôÓÃÁËÈÃÓû§Ìá½»±íµ¥µÄ°´Å¥¡£ÆôÓð´Å¥µÄ²Ù×÷ÊÇͨ¹ýgetElementByIdº¯ÊýʵÏֵġ£

¡¡¡¡· ÔÚÖ÷Ò³Ã滹ÓÐÒ»¸ö±íµ¥£¬Ëü°üº¬ÁËÓû§Ìá½»µÄÃèÊöºÍÒþ²ØµÄÎļþÃû¡£Óû§¿ÉÒÔÔÚÎļþÉÏ´«µÄͬʱÌîдÎļþµÄÃèÊö¡£µ±ÎļþÉÏ´«½áÊøÒÔºó£¬Óû§µã»÷°´Å¥£¬¾Í¿ÉÒÔ¿´ÉÏ´«ÒԺ󷵻ظøÓû§µÄÎļþÐÅÏ¢ÁË¡££¨Í¨¹ý·µ»ØÀ´µÄÎļþÃûºÍÓû§ÊäÈëµÄÃèÊö¹¹³ÉÎļþÐÅÏ¢£©¡£

¡¡¡¡¿ÉÄÜÄã»á˵Õâô²Ù×÷²»·ûºÏ³£Àí£ºÎļþÔÚÓû§È·ÈÏ֮ǰ¾ÍÒѾ­±»Ìá½»ÁË¡£Èç¹ûÓû§Ã»ÓÐÌá½»µÄ»°£¬Çé¿ö»áÈçºÎÄØ¡£Äã¿ÉÒÔ×Ô¼ºÔÚÀ©Õ¹´¦Àí±»Óû§·ÅÆúµÄÎļþ¡£

¡¡¡¡Õâ¸öÀý×Ó°ÑÎļþ´æ´¢ÔÚÒ»¸öÎļþϵͳµÄĿ¼Ï¡£ÄãÐèÒªÔڽű¾¿ªÊ¼ÔËÐеÄʱºòÅäÖÃÏÂÕâ¸öĿ¼£¬¾ßÌåµÄ°üº¬Õâ¸öĿ¼ÐÅÏ¢µÄ±äÁ¿ÊÇ$upload_dir ºÍ$web_upload_dir¡£ÕâÀïÓÐÒ»¸ö¶ÔĿ¼ÊÇ·ñ¿ÉдµÄȨÏÞ¼ì²é¡£

¡¡¡¡ÕâÀïÎÒÃÇÓõ½ÁËÒÔϼ¸¸öPHPº¯Êý£º

¡¡¡¡· move_uploaded_file - תÒÆÒ»¾­ÉÏ´«µ½·þÎñÆ÷µÄÎļþ

¡¡¡¡· fopen - ´ò¿ªÎļþ

¡¡¡¡· fwrite - °ÑÄÚÈÝдÈëÎļþ

¡¡¡¡· fclose - ¹Ø±ÕÎļþ

¡¡¡¡· str_replace - Ìæ»»×Ö·û´®

¡¡¡¡· filesize - ·µ»ØÎļþ´óС

¡¡¡¡· filemtime - ·µ»Ø´¦Àíʱ¼ä

¡¡¡¡Äã¿ÉÒÔͨ¹ýÊÖ²á²éµ½ÕâЩº¯ÊýÈç¹ûʹÓá£Çë×¢ÒâÒª°ÑHTM(£¼, £¾, &)±ê¼ÇÌ滻Ϊ(<, > ºÍ &).

Ô´´úÂë
 

£¼?php
$upload_dir = "/var/www/anyexample/aeu"; // Îļþ´æ´¢µÄ·¾¶
$web_upload_dir = "/aeu"; // ÎļþÔÚWebĿ¼ÏµÄ·¾¶
$tf = $upload_dir.'http://www.zhixing123.cn/'.md5(rand()).".test";
$f = @fopen($tf, "w");
if ($f == false)
die("Fatal error! {$upload_dir} is not writable. Set 'chmod 777 {$upload_dir}'
or something like this");
fclose($f);
unlink($tf);

//´¦ÀíÉÏ´«µÄÎļþ
if (isset($_POST['fileframe']))
{
¡¡$result = 'ERROR';
¡¡$result_msg = 'No FILE field found';

¡¡if (isset($_FILES['file'])) // ´Óä¯ÀÀÆ÷½ÓÊÜÎļþ
¡¡{
¡¡¡¡if ($_FILES['file']['error'] == UPLOAD_ERR_OK) // ûÓдíÎó
¡¡¡¡{
¡¡¡¡¡¡$filename = $_FILES['file']['name']; // ÎļþÃû
¡¡¡¡¡¡move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.'http://www.zhixing123.cn/'.$filename);
¡¡¡¡¡¡// ´¦ÀíµÄÖ÷¹ý³Ì-תÒÆÎļþµ½ $upload_dir
¡¡¡¡¡¡$result = 'OK';
¡¡¡¡}
¡¡¡¡elseif ($_FILES['file']['error'] == UPLOAD_ERR_INI_SIZE)
¡¡¡¡¡¡$result_msg = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
¡¡¡¡else
¡¡¡¡¡¡$result_msg = 'Unknown error';
¡¡}

¡¡echo '£¼html£¾£¼head£¾£¼title£¾-£¼/title£¾£¼/head£¾£¼body£¾';
¡¡echo '£¼script language="JavaScript" type="text/javascript"£¾'."n";
¡¡echo 'var parDoc = window.parent.document;';
¡¡'
¡¡if ($result == 'OK')
¡¡{
¡¡¡¡echo 'parDoc.getElementById("upload_status").value = "file successfully uploaded";';
¡¡¡¡echo 'parDoc.getElementById("filename").value = "'.$filename.'";';
¡¡¡¡echo 'parDoc.getElementById("filenamei").value = "'.$filename.'";';
¡¡¡¡echo 'parDoc.getElementById("upload_button").disabled = false;';
¡¡}
¡¡else
¡¡{
¡¡¡¡echo 'parDoc.getElementById("upload_status").value = "ERROR: '.$result_msg.'";';
¡¡}

¡¡echo "n".'£¼/script£¾£¼/body£¾£¼/html£¾';
¡¡exit();
}

function safehtml($s)
{
¡¡$s=str_replace("&", "&", $s);
¡¡$s=str_replace("£¼", "<", $s);
¡¡$s=str_replace("£¾", ">", $s);
¡¡$s=str_replace("'", "'", $s);
¡¡$s=str_replace(""", """, $s);
¡¡return $s;
}

if (isset($_POST['description']))
{
¡¡$filename = $_POST['filename'];
¡¡$size = filesize($upload_dir.'http://www.zhixing123.cn/'.$filename);
¡¡$date = date('r', filemtime($upload_dir.'http://www.zhixing123.cn/'.$filename));
¡¡$description = safehtml($_POST['description']);

¡¡$html =£¼£¼£¼END
¡¡£¼html£¾£¼head£¾£¼title£¾{$filename} [uploaded by IFRAME Async file uploader]£¼/title£¾£¼/head£¾
¡¡£¼body£¾
¡¡¡¡£¼h1£¾{$filename}£¼/h1£¾
¡¡¡¡£¼p£¾This is a file information page for your uploaded file. Bookmark it, or send to anyone...£¼/p£¾
¡¡¡¡£¼p£¾Date: {$date}£¼/p£¾
¡¡¡¡£¼p£¾Size: {$size} bytes£¼/p£¾
¡¡¡¡£¼p£¾Description:
¡¡¡¡£¼pre£¾{$description}£¼/pre£¾
¡¡¡¡£¼/p£¾
¡¡¡¡£¼p£¾£¼a href="{$web_upload_dir}/{$filename}" style="font-size: large;"£¾download file£¼/a£¾£¼br£¾
¡¡¡¡£¼a href="{$PHP_SELF}" style="font-size: small;"£¾back to file uploading£¼/a£¾£¼br£¾
¡¡¡¡£¼a href="{$web_upload_dir}/upload-log.html" style="font-size: small;"£¾upload-log£¼/a£¾£¼/p£¾
¡¡¡¡£¼br£¾£¼br£¾Example by £¼a href=""£¾AnyExample£¼/a£¾
¡¡£¼/body£¾£¼/html£¾
¡¡END;
¡¡
¡¡$f = fopen($upload_dir.'http://www.zhixing123.cn/'.$filename.'-desc.html', "w");
¡¡fwrite($f, $html);
¡¡fclose($f);
¡¡$msg = "File {$filename} uploaded,
¡¡£¼a href='{$web_upload_dir}/{$filename}-desc.html'£¾see file information page£¼/a£¾";

¡¡$f = fopen($upload_dir."/upload-log.html", "a");
¡¡fwrite($f, "£¼p£¾$msg£¼/p£¾n");
¡¡fclose($f);

¡¡setcookie('msg', $msg);
¡¡header("Location: ".$_SERVER['HTTP_HOST'].$PHP_SELF);
¡¡exit();
}

if (isset($_COOKIE['msg']) && $_COOKIE['msg'] != '')
{
¡¡if (get_magic_quotes_gpc())
¡¡¡¡$msg = stripslashes($_COOKIE['msg']);
¡¡else
¡¡¡¡$msg = $_COOKIE['msg'];
¡¡¡¡setcookie('msg', '');
}
?£¾
£¼!-- Beginning of main page --£¾
£¼html£¾£¼head£¾
£¼title£¾IFRAME Async file uploader example£¼/title£¾
£¼/head£¾
£¼body£¾
£¼?php
¡¡if (isset($msg))
¡¡¡¡echo '£¼p style="font-weight: bold;"£¾'.$msg.'£¼/p£¾';
?£¾
£¼h1£¾Upload file:£¼/h1£¾
£¼p£¾File will begin to upload just after selection. £¼/p£¾
£¼p£¾You may write file description, while you file is being uploaded.£¼/p£¾

£¼form action="£¼?=$PHP_SELF?£¾" target="upload_iframe" method="post" enctype="multipart/form-data"£¾
¡¡£¼input type="hidden" name="fileframe" value="true"£¾
¡¡£¼!-- Target of the form is set to hidden iframe --£¾

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎתÔصĸå¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬ÇëתÔØʱÎñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • ¡¶°²»Õµç×ÓÐÅÏ¢Ö°Òµ¼¼ÊõѧԺѧ±¨¡·2008Äê05ÆÚ

    ¡¶°²»Õµç×ÓÐÅÏ¢Ö°Òµ¼¼ÊõѧԺѧ±¨¡·2008Äê05ÆÚ

    2017-01-03 18:01

  • »ùÓÚajax htmlʵÏÖÎļþÉÏ´«¼¼ÇÉ×ܽá

    »ùÓÚajax htmlʵÏÖÎļþÉÏ´«¼¼ÇÉ×ܽá

    2017-01-03 15:02

  • php+ajaxÎÞË¢ÐÂÉÏ´«Í¼Æ¬µÄʵÏÖ·½·¨£¬

    php+ajaxÎÞË¢ÐÂÉÏ´«Í¼Æ¬µÄʵÏÖ·½·¨£¬

    2017-01-03 15:01

  • php+ajaxÎÞË¢ÐÂÉÏ´«Í¼Æ¬µÄʵÏÖ·½·¨

    php+ajaxÎÞË¢ÐÂÉÏ´«Í¼Æ¬µÄʵÏÖ·½·¨

    2016-12-21 11:01

ÍøÓѵãÆÀ
¹