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
ขอบคุณทุก ๆ ท่านมากครับ ^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
งั้นพวก 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
อ่า อยากไปสมัครขอเป็นลูกศิษย์จัง  :-*
+1


หัวข้อ: Re: ใช้ PHP extract ไฟล์ zip ผ่านเว็บ
เริ่มหัวข้อโดย: ball6847 ที่ 12 ธันวาคม 2007, 22:05:59
เป้นหมอ ที่ไม่เหมือนหมอทำมะดาจริงๆ สุดยอดมากๆ

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

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