พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP development / อยากได้ สคริปอัพโหลดไฟล์ .wmv กำหนดขนาดได้
โอ๋
โอ๋
Fri 23 Feb 2007 10:20:58

พอจะมีสคิป php ที่ใช้อัพโหลดไฟล์ .wmv หรือนามสกุลอื่น ๆ ไหมครับ เพราะผมจะให้ user ของเว็บโหลดไฟล์มาเก็บไว้ที่ server แล้วสามารถเปิดดูได้เลย

เช่นตั้งหัวข้อไว้แล้วทำการ Brows ไฟล์ จากนั้นกด submit มันก็จะทำการโหลดไฟล์ด้วย ตั้งหัวข้อด้วยนะคับ พอจะเปิดอ่านก็คลิ๊กที่หัวข้อ แล้วสามารถดูไฟล์ที่เราโหลดขึ้นไปได้เลย

ผมเคยลองเอาสคริปโหลดรูปไปลองแก้ไขดู ก็ใช้ไม่ได้

ข้างล่างเป็นโค้ด brows image นะครับ ถ้าจะแก้ให้อัพโหลดไฟล์ movie ต้องเพิ่มส่วนไหนบ้าง

#ทำการอัพโหลดและเปลี่ยนชื่อรูปลงดาต้าเบส หากต้องการไฟล์ชนิดอื่นก็เพิ่มเข้าไป
if ( $img_type == "image/gif" )
  {
   $filename = $topic_run.".gif";
  }
if ( $img_type == "image/png" )
  {
   $filename = $topic_run.".png";
  }
elseif (($img_type=="image/jpg")||($img_type=="image/jpeg")||($img_type=="image/pjpeg"))
  {
   $filename = $topic_run.".jpg";
  }
@copy ($img , "item/" . $filename );
#สิ้นสุดการอัพโหลดรูป

อ้อ อยากให้กำหนดด้วยว่าไฟล์ .wmv ไม่ให้ขนาดเกินที่เรากำหนดไว้เช่น 10 M ประมาณนี้ครับ

ยังไงรบกวนด้วยครับ

Administrator
Sat 24 Feb 2007 14:36:55
ในการ upload นั้นจะมีตัวแปร global เกิดขึ้นครับ

$_FILE["file_field_name"]["name"] //ชื่อไฟล์ที่ทำการ upload
$_FILE["file_field_name"]["tmp_name"] //ชื่อไฟล์ชั่วคราวบน server
$_FILE["file_field_name"]["size"] //ขนาดของไฟล์หน่วยเป็น bytes
$_FILE["file_field_name"]["type"] //ชนิดของไฟล์
$_FILE["file_field_name"]["error"] //error code

การตรวจหาขนาดไฟล์ก็ใช้
if($_FILE["file_field_name"]["size"] < 10*1024*1024){
    //File size OK
}else{
    //File size exceed
}
โอ๋
โอ๋
Tue 6 Mar 2007 08:52:15

พอจะมีโค้ดที่สามารถเอาไปใช้ได้เลยไหมครับ  แบบว่าไม่รู้จะเอาไปใส่ยังไงอ่ะ  แล้วจะให้มันอัพไฟล์ไปอยู่ในโฟล์เดอร์ที่เรากำหนดยังไงครับ

Administrator
Tue 6 Mar 2007 10:02:50
การ upload ใช้ move_uploaded_file() ครับ
โอ๋
โอ๋
Tue 6 Mar 2007 14:55:17

ได้แล้วครับ ผมไปเจอโค้ดนี้จากลิงค์ด้านล่างนี้ครับ

http://bananasource.orgfree.com/bananaboard/viewtopic.php?t=28&highlight=&sid=62b6debc26627dcef92699dbf57971dc

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1">
  <input name="File" type="file" id="File">
  <input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>

สร้าง File upload.php เอา code ข่างล่างนี้ไปใส่
<?php
echo  dirname(__FILE__);

// Upload full path (Detect path automatically)
if (!defined('UPLOADDIR')) define('UPLOADDIR', (dirname(__FILE__) ."/translation/uploadfiles") );


//checks if file uploaded

if (is_uploaded_file($_FILES['File']['tmp_name'])) {
$File_tmpname = $_FILES["File"]["tmp_name"];

$File_name = $_FILES["File"]["name"];

$File_type = $_FILES["File"]["type"];

$File_extension = substr($File_type,(strrpos($File_type,"/")+1));

$File_size = $_FILES["File"]["size"];
//checks if file moved successfull

if ( move_uploaded_file($File_tmpname, (UPLOADDIR . "/" . $File_name)) ) {
echo "<br>File uploading successful.";

}

else {

echo "<br>File uploading failure.";

}
}

else { //else checks if file uploaded

echo "<br>No file selected for uploading.";

} //end checks if file uploaded

?>

โค้ดด้านบนนี้จะให้อัพโหลดไฟล์ได้ไม่เกิน 2Mb แต่ผมอยากให้กำหนดขนาดของไฟล์ได้นะครับ คือไฟล์ที่ผมจะให้อัพโหลด ไม่เกิน 10M แบบนี้ต้องเพิ่มโค้ดตรงไหนเข้าไปครับ

Administrator
Tue 6 Mar 2007 16:11:09
โค๊ดนี้ไม่มีการตรวจสอบขนาดไฟล์ครับ ส่วนที่จะเป็นตัวกำหนดขนาดที่อนุญาตให้ upload ได้นั้นมี 2 ส่วนครับ
ใน $_FILES[input]["size"] จะเป็นขนาดไฟล์ที่ได้ upload มาแล้ว
แต่จะต้องไม่เกิน max_upload_filesize ใน php.ini ด้วยครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login