Thursday, February 17, 2011

PHP Multiple files upload

Overview In this tutorial create 2 files 1. multiple_upload.php 2. multiple_upload_ac.php Step 1. Create file multiple_upload.php 2. Create file multiple_upload_ac.php 3. Create folder "upload" for store uploaded files. .4. CHMOD your upload folder to "777" by using your ftp software(change permission). ...

Upload File อย่างปลอดภัย เช็คจากประเภทของไฟล์ หรือนามสกุลของไฟล์ดี

ทุกคนคงเคยเขียนโปรแกรม webboard ที่สามารถทำการ upload รูปขึ้นมาได้กันบ้างแล้ว และแต่ละคนคงจะมีวิธีการตรวจสอบว่าเป็น file รูปภาพหรือไม่ แตกต่างกันออกไปแล้วแต่ความถนัด ในเรื่องนี้ผมจะเปรียบเที่ยบความแตกต่างระหว่างการตรวจสอบชนิดของ file ที่ upload ขึ้นมาผ่านทาง file type กับ นามสกุลของ file มาดูจิว่า แบบไหนน่าใช้กว่ากัน ในช่วงแรกๆ ที่ผมหัดเขียนโปรแกรมเพื่อทำการ upload file ขึ้นมาที่ server ผมจะใช้วิธีการตรวจสอบ ว่าเป็น file ชนิดอะไรจาก นาม สกุลของ file แต่หลังจากนั้นผมก็เริ่มเขียนโปรแกรมโดยการตรวจสอบชนิดของ file จาก file type ซึ้งผมคิดว่ามันน่าจะดีกว่าแบบแรก แต่ผมก็พบว่ามันไม่ได้ดีอย่างที่ผมคิด มาดูกันแต่ละแบบแล้วกันว่ามีความแตกต่างและจุดบกพร้องอย่างไรบ้าง ในการตรวจสอบชนิดของ file จากการตรวจสอบจากนามสกุลของ file ที่ upload ขึ้นมานั้นสามารถที่จะเขียน code ได้ง่ายๆ ดังนี้ # copy แล้ว save...

การ Upload File มาที่ Web Server โดยใช้ php ทำยังไง

สวัสดีครับ วันนี้จะขอเขียนตัวอย่างง่ายๆ ในการ Upload ไฟล์จากเครื่องผู้ใช้ มาที่ web server โดยใช้ php ซึ่งท่านสามารถเอาไปดัดแปลงเพื่อให้ใช้งานได้ตามความต้องการครับ ในตัวอย่างนี้จะมีไฟล์ด้วยกัน 2 ไฟล์ครับ ไฟล์แรก จะเป็นฟอร์มในการ ใส่ชื่อไฟล์ที่จะ Upload ครับ ชื่อว่า main.htm code เป็นดังนี้ครับ <HTML> <FORM ENCTYPE="multipart/form-data" ACTION="add_file.php" METHOD="post"> Upload ไฟล์นี้มาที่ Server: <INPUT TYPE="file" NAME="userfile"><BR> <INPUT TYPE="submit" VALUE="Upload"><BR> </FORM> </HTML> ซึ่งก็จะเห็นว่าไม่มีอะไรยาก มีเพียงแค่ ENCTYPE="multipart/form-data" ที่จะบอกว่า ข้อมูลใน form นี้เป็น mime format เท่านั้นเอง คราวนี้ลองมาดูอีกไฟล์ที่เป็นส่วนในการจัดการ upload มาที่ server ชื่อ add_file.php ครับ หน้าตาเป็นดังนี้ <?php...

Upload File ด้วย PHP

สำหรับคราวนี้ เราจะดูวิธีการในการ Upload File โดยใช้ PHP ซึ่ง ก็เป็นเรื่องง่ายมากครับ และในตัวอย่างนี้ผมใช้ Run กะ IIS บน WindowsXP Professional ซึ่งได้ทำการลง PHP Version 4.3.0 ซึ่ง Download มาจาก www.php.net และสำหรับเพื่อนๆที่ได้ใช้ Windows ตัวอื่นๆ สามารถ อ่านวิธีการติดตั้ง ได้จาก บทความ ที่ผ่านมาของผมครับ (ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3), ติดตั้ง PHP 4 บน WINDOWS 2000) แต่สำหรับผู้ใช้ WindowsXP ก็มีวิธีคล้ายกัน ที่เพิ่มเข้ามาก็คือ ให้เข้าไปแก้ไฟล์ php.ini ในหัวข้อ cgi.force_redirect = 0 ครับ ต่อจากนั้นก็ให้ทดสอบ โดยใช้วิธีการทดสอบเดียวกันกับ...

การเขียน Script เพื่อแบ่งหน้า

 การเขียน Script เพื่อแบ่งหน้า <?php /*Connect ฐานข้อมูล */ mysql_connect('localhost','root',''); // connect mysql mysql_select_db('topic'); // select database /* check ว่ามี ค่าตัวแปร $start หรือไม่ ถ้าไม่มีให้ตั้งเป็น 0 ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/ if(!isset($start)){ $start = 0; } $limit = '10'; // แสดงผลหน้าละกี่หัวข้อ/* หาจำนวน record ทั้งหมด ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/ $Qtotal = mysql_query("select * from topic"); //คิวรี่ คำสั่ง $total = mysql_num_rows($Qtotal); // หาจำนวน record /* คิวรี่ข้อมูลออกมาเพื่อแสดงผล */ $Query = mysql_query("SELECT * FROM topic ORDER BY id DESC LIMIT $start,$limit"); //คิวรี่คำสั่ง $totalp = mysql_num_rows($Query); // หาจำนวน record ที่เรียกออกมา/* อันนี้ ไม่เกี่ยวเอาออกได้ */ printf("มีหัวข้อทั้งหมด...

แบ่งหน้า ด้วย Code แบบง่าย

ในตัวอย่างข้างล่างเป็นการนำเสนอรายชื่อจังหวัดในประเทศไทย โดยจะทำการนำมาแสดงหน้าละ 10 รายการ สามารถดูตัวอย่าง โค้ด และ ดาต้าเบสจังหวัดในประเทศไทย ได้ดังต่อไปนี้ ดาวน์โหลดตัวอย่างดาต้าเบส คลิกเพื่อดาวน์โหลด ดูตัวอย่างคลิก แสดงปกติพิมพ์โค้ดนี้?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=windows-874" />   <title></title>   <style type="text/css">   body{       font-size:12px;   }   </style>   <?php       // สร้างฟังก์ชั่น สำหรับแสดงการแบ่งหน้า       function page_navigator($before_p,$plus_p,$total,$total_p){           echo $before_p." to ".$plus_p." of ".$total." |  Go to Page ";           for($i=0;$i<$total_p;$i++){               echo "<a href='?s_page=$i'>".intval($i+1)."</a> ";           }       }   ?>   </head>      <body>   <?php   // ทำการเชิ่อมต่อฐานข้อมูล   $link=mysql_connect("localhost","root","123456") or die("error".mysql_error());    mysql_select_db("test",$link);    ?>   <?php       $q="select * from province ";  // แก้ไขขื่อตารางตามต้องการ       $qr=mysql_query($q);       $total=mysql_num_rows($qr);       $e_page=10; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า       if(!isset($s_page)){           $s_page=0;       }else{           $chk_page=$s_page;             $s_page=$s_page*$e_page;       }       $q.=" limit $s_page,$e_page";       $qr=mysql_query($q);       if(mysql_num_rows($qr)>=1){           $plus_p=($chk_page*$e_page)+mysql_num_rows($qr);       }else{           $plus_p=($chk_page*$e_page);           }       $total_p=ceil($total/$e_page);       $before_p=($chk_page*$e_page)+1;   ?>        <table width="100%" border="0" cellspacing="0" cellpadding="0">     <tr>       <td bgcolor="#CCCCCC">จังหวัด</td>     </tr>      <tr>     <td>     <fieldset>    <?php    // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า     page_navigator($before_p,$plus_p,$total,$total_p);      ?>     </fieldset>     </td>     </tr>         <?php       $q="select * from province limit $s_page,$e_page"; // แก้ไขขื่อตารางตามต้องการ       $qr=mysql_query($q);       while($rs=mysql_fetch_array($qr)){     ?>     <tr>       <td bgcolor="#F2F2F2"><?=$rs['name_province']?></td>     </tr>       <?php } ?>     <tr>     <td>     <fieldset>    <?php     // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า     page_navigator($before_p,$plus_p,$total,$total_p);      ?>     </fieldset>     </td>     </tr>   </table>   </body>   </html>   <!DOCTYPE...

Code แบ่งหน้า สวย ๆ

คนละตัวกันครับ ของ PostSmiles.com ตามโค๊ดด้านล่างนี้เลยครับ โค๊ด:<style type="text/css"> <!-- span.split-page-present { padding: 0px 5px; margin: 0px 1px; border: 1px solid #999999; background-color: #999999; line-height: 1.5em; font-size: 0.9em; color: #FFFFFF; } span.split-page-select { color: #000000; } span.split-page-select a:link { padding: 0px 5px; margin: 0px 1px; border: 1px solid #E5E5E5; background-color: #E5E5E5; line-height: 1.5em; font-size: 0.9em; color: #000000; text-decoration: none; } span.split-page-select a:visited { padding: 0px 5px; margin: 0px 1px; border: 1px solid #E5E5E5; background-color: #E5E5E5; line-height: 1.5em; font-size: 0.9em; color: #000000; text-decoration: none; } span.split-page-select a:hover { padding: 0px 5px; margin:...

Pages 61234 »

 
Design by sutoday | Bloggerized by storesu - suvachai | laikeng