ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: au8ust ใน 11 ธันวาคม 2007, 20:23:15

ชื่อเรื่อง: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: au8ust ใน 11 ธันวาคม 2007, 20:23:15
พอดีใช้ Host ไทยมันไม่มี cPanel ที่มี File Manager ซึ่งสามารถ Extract Zip ได้ เลยอยากถามดูว่ามีวิธีเขียน PHP ยังไงให้มันแตกไฟล์ Zip ได้อ่ะครับ เคยเขียนลวก ๆ อันนึงมันแตกได้แต่ใช้้ไม่ได้ เข้าใจว่าไม่ได้เซ็ต Permission อะไรสักอย่าง  :P

ขอบคุณครับ
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: เรารักนายนะน้องฟี่ ใน 11 ธันวาคม 2007, 20:47:10
<?

function unzip($zip_file, $src_dir, $extract_dir)
{
copy($src_dir.$zip_file, $extract_dir.$zip_file);
chdir($extract_dir);
shell_exec("unzip $zip_file");
}


if(unzip('Zipname.zip','./','./')){

  echo($zip_file .'unpacked successfully');

}else{

  echo($zip_file .'was not unpacked');

}



?>

ผมใช้อันนีอ่ะ
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: Dr.K ใน 11 ธันวาคม 2007, 21:55:55
ถ้า host set safe mode = on ก้อใช้ unzip หรือ shell ไม่ได้ทุกกรณี
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: แบบนี้ไม่ต้องสืบ ใน 11 ธันวาคม 2007, 22:07:32
ใช้ net2ftp.com หรือ สคริปของเค้าก็ได้คับ ง่ายดี
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: ball6847 ใน 11 ธันวาคม 2007, 22:16:05
ผมใช้ class (PEAR) เอาง่ะ แต่จำชื่อไม่ได้แระ ไม่ได้ใช้นาน  :P

ลองดูจากนี่แล้วเลือกดูเอาละกันคับ
http://pear.php.net/search.php?q=archive&in=packages&x=0&y=0
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: icez ใน 11 ธันวาคม 2007, 22:25:35
http://th.php.net/zip


http://www.narudom.com/wordpress/?p=6


ลองดูนะครับ
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: au8ust ใน 11 ธันวาคม 2007, 22:33:04
ขอบคุณทุก ๆ ท่านมากครับ ^o^

แล้วพวก tar, bzip อ่ะ ใช้แบบเดียวกันได้หรือเปล่า?
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: ball6847 ใน 11 ธันวาคม 2007, 22:39:10
อ้างถึงจาก: au8ust ใน 11 ธันวาคม 2007, 22:33:04
ขอบคุณทุก ๆ ท่านมากครับ ^o^

แล้วพวก tar, bzip อ่ะ ใช้แบบเดียวกันได้หรือเปล่า?

   1. Archive_Tar: Tar file management class
   2. Archive_Zip: Zip file archiving management class
   3. File_Archive: File_Archive will let you manipulate easily the tar, gz, tgz, bz2, tbz, zip, ar (or deb) files
   4. PHP_Archive: Create and Use PHP Archive files

=====

จากลิ้งค์ที่ผมให้มานั่นแหละ  :P :P
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: เรารักนายนะน้องฟี่ ใน 11 ธันวาคม 2007, 22:44:24
untar

<?
set_time_limit(0);
shell_exec("tar xvf test.tar");
echo "Untar Done";
?>


อันนี้เหมาะสำหรับโฮสห่วยๆ ช้าๆ เช่นเนทเฟิร์ม  ใช้ 7zip บีบไฟล์ แต่ไฟล์จะไม่ลดขนาดซักเท่าไร  :P

unzip

<?

function unzip($zip_file, $src_dir, $extract_dir)
{
copy($src_dir.$zip_file, $extract_dir.$zip_file);
chdir($extract_dir);
shell_exec("unzip $zip_file");
}


if(unzip('Zipname.zip','./','./')){

  echo($zip_file .'unpacked successfully');

}else{

  echo($zip_file .'was not unpacked');

}



?>


สคิปนี้ผมใช้กับโฮสการ์เตอร์ได้ไม่มีปัญหา เมื่อวานก็ใช้อยู่ ว่าแต่ การ์เตอร์ก็ unzip ใน filemanager ได้นะครับ  :P

ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: au8ust ใน 12 ธันวาคม 2007, 05:32:10
ขอบคุณอีกครั้งครับ ซาบซึ้งใจข้าพเ้จ้ายิ่งนัก   :'(

ป.ล. ใช้ AppServHosting อ่ะนะ เป็น panel ของ VHCS2 ไม่มี File Manager หรู ๆ เหมือน cPanel  :P


edit: อ่า... ไปลองมาแล้ว ไม่ได้ผลสักวิธีเลย ทาง Host เค้า disable exec, disable อะไรต่าง ๆ ที่ทำให้ unzip ไม่ได้

คงต้อง upload file by file ตามเดิม จบ LOL

เล่าให้ฟังนิดหน่อย ตอนผมเช่า Host ที่นั่นแรก ๆ ผม unzip ไม่ได้ เลยให้เจ้าของ Host unzip ให้ พอหลัง ๆ เค้าไม่ว่าง เลยต้องอัพโหลดทีละไฟล์ พวก webboard มันมีไฟล์เป็นพัน ๆ ไฟล์ ทีนี้ผมใช้ multiple connections มันเลยสร้าง connection ขึ้นมาจำนวนนึง กำหนดไว้สัก 4 หรือ 8 มั้ง จำไม่ค่อยได้ สามเืดือนแล้ว ลืม ๆ จากนั้นไม่รู้มันเป็นอะไร มันก็ต่อ ๆ ติด ๆ ได้มั่งไม่ได้มั่ง หลัง ๆ ไปก็ค้าง ผมก็งงว่าทำไม ก็ปล่อยไป สักพัก เจ้าของ Host ทักมา บอกให้หยุดยิงเดี๋ยวนี้ ก็ตกใจ อะไรล่ะหว่า งง คุยไปมา เค้าเข้าใจว่าผมไปยิง FTP เค้า ผมก็ capture หน้าจอไปให้ดู ให้ดู settings ใน FileZilla ด้วยเอ้า lol คุยกันอยู่สักพักก็เข้าใจ เกือบโดนเตะออก Host กรรมจริง ๆ -_-a
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: gootum ใน 12 ธันวาคม 2007, 09:13:02
เสริมเรื่อง hack นิดครับ   ถ้าเปิด php    safe mode = on นั้นช่วยป้องกันได้ครับทางนึงซึ่งจะไม่สามารถแตกไฟล์ได้ แล้วจะมีผลให้ใช้งานก่ะสคริปอีกหลายตัวไม่ได้ด้วย เช่น gallery เป็นต้น
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: EThaiZone ใน 12 ธันวาคม 2007, 09:28:09
http://www.phpclasses.org/browse/package/2495.html

::)
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: pugkung ใน 12 ธันวาคม 2007, 09:52:40
แล้วพวก mambo ละครับไม่ทราบว่า เค้าเขียนแบบไหนเหรอครับ เวลาที่ extract template อ่ะครับ
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: Dr.K ใน 12 ธันวาคม 2007, 10:25:34
สงสัยพวกเรายังไม่เคยเจอแฮคของจริงละม้าง
เปิด safe mode
เนี่ยยิงโป้งเดียว
แตก zip ใน share memory เปิด backdoor ใน tmp
แล้วอัด root kit
โดนหมดทั้ง server เลย
เด๋วจะหาว่าหล่อไม่เตือน
(มีสูตรทำด้วย อิอิ)
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: pugkung ใน 12 ธันวาคม 2007, 11:36:43
งั้นพวก host ที่เปิดให้ใช้ mambo หรือ cms ที่มีการ เพิ่ม module ที่เป็นไฟล์ zip โดยการเขียน สคริป สำหรับ extract ไว้ก็ อันตรายหมดดิ่ครับ แบบนี้  ???

ไม่ทราบว่าผมเข้าใจถูกป่าวครับ
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: Dr.K ใน 12 ธันวาคม 2007, 12:04:08
อ้างถึงจาก: pugkung ใน 12 ธันวาคม 2007, 11:36:43
งั้นพวก host ที่เปิดให้ใช้ mambo หรือ cms ที่มีการ เพิ่ม module ที่เป็นไฟล์ zip โดยการเขียน สคริป สำหรับ extract ไว้ก็ อันตรายหมดดิ่ครับ แบบนี้  ???

ไม่ทราบว่าผมเข้าใจถูกป่าวครับ
ครับ ล่าสุดก้อ mambo ของหลายๆที่ของไทย
แต่มีวิธีกันอยู่นะ
พวกนี้ จุดเริ่มของมัน คือ จุดอ่อนของสคริปต์ ที่เห็นประคือ union ,sql injection หรือ การกรองคำไม่ดีครับ
ตัดตรงจุดนี้ได้ ก็ยากขึ้นมามากมายแล้วครับ
ดังนั้น การติดตามข่าว patch ใหม่ๆ ของ joomla ,mambo คือสิ่งสำคัญมากพอกับการทำเว็บเลย
หรือถ้าจะเปิด safe mode แนะนำให้ปรับ security ของจุดอื่น เช่น การป้องกันการแตก zip ใน user อื่นๆ ,การป้องกัน การรันเชลล์และสคริปต์ใน tmp file ,disable ฟังก์ชั่นอื่นๆของ shell ที่ต้องเขียนเอาไว้ใน php.ini หรือแม้แต่การ chroot ที่ apache  ก็ป้องกันได้บางส่วนครับ แต่ไม่ทั้งหมด
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: Dr.K ใน 12 ธันวาคม 2007, 12:06:33
ถ้าจะเปิดการใช้ shell แนะนำให้รัน apache 2 process ครับ
ตัวที่จะเปิดให้รันที่ port 81 แล้วใช้ proxies เอา
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: EThaiZone ใน 12 ธันวาคม 2007, 20:59:37
อ่า อยากไปสมัครขอเป็นลูกศิษย์จัง  :-*
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: au8ust ใน 12 ธันวาคม 2007, 21:58:44
อ้างถึงจาก: EThaiZone ใน 12 ธันวาคม 2007, 20:59:37
อ่า อยากไปสมัครขอเป็นลูกศิษย์จัง  :-*
+1
ชื่อเรื่อง: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
โพสต์โดย: ball6847 ใน 12 ธันวาคม 2007, 22:05:59
เป้นหมอ ที่ไม่เหมือนหมอทำมะดาจริงๆ สุดยอดมากๆ

หมออะไรเนี่ย network ,security ,server , php, seo

ตกลงเรียนอะไรมากันคับเนี่ย เป็นหมอยุค IT ที่ไม่ธรรมดาจริงๆคับ