ฟอนต์ฟอรั่ม

F0NT Community (เก่า) => ห้องคอม => โพสต์ถูกเริ่มโดย: ooooo เมื่อ 01 มี.ค. 2006, 07:46 น.

ชื่อเรื่อง: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: ooooo เมื่อ 01 มี.ค. 2006, 07:46 น.
สมมุตินะครับสมมุติ

หลังจากที่ผมอัพโหลดไฟล์จำนวนหนึ่งไปเรียบร้อยแล้ว
โดยที่ได้ทำเว็บจำนวนหนึ่งเกือบเสร็จแล้ว (เป็น php ใช้ mysql)
แต่วันดีคืนดีผมจะลบมันออก มันเสือกดื้อ ไม่ให้ลบซะนี่

โดยมันมี error ขึ้นว่า

COMMAND:>   LIST
STATUS:>     Connecting FTP data socket XX.XXX.XX.XX:XXXXX...
      150 Opening ASCII mode data connection for file list
      226-Transfer complete.
      226 Quotas off
COMMAND:>   CWD /httpdocs/files/images
      550 /httpdocs/files/images: Permission denied
ERROR:>      Requested action not taken (e.g., file or directory not found, no access).

มันจะลบได้ไหมครับ แล้วมันเกิดจากอะไร คือปล่อยไว้งั้นมันรำคาญลูกกะตาน่ะครับ

ขอบคุณครับ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 01 มี.ค. 2006, 08:09 น.
เราไม่มีสิทธิ์ที่จะลบมันครับ เพราะ

เราไม่ใชเจ้าของไฟล์ (file owner) ไฟล์บางอย่างที่สร้างชึ้นมาด้วย script
เจ้าของไฟล์จะเป็น nobody หรือ apache เราจึงไม่มีสิทธิ์ที่จะไปลบไฟล์ของเขา
นอกเสียแต่ว่า premission จะกำหนดให้เรามีสิทธิ์ r (read) w (write) x (execute)

วิธีการตรวจสอบ
- ดู file owner เป็นของใคร ซึงจะบอกเป็น user/group
- ดู file permission ว่ากำหนดไว้ยังไง


ท้ายที่สุดหากหมดหวังเพราะว่าเราไม่ใช่เจ้าของไฟล์ชัวร์ๆ
ก็ต้องให้เจ้าของทำการลบ
ถ้าเป็น apache ก็ใช้ script ลบเอา

ok มั้ยครับ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: iannnnn เมื่อ 01 มี.ค. 2006, 08:11 น.
เคยมีวัวตัวนึงบอกตูมาว่า










(แกะมาจากตู้ จมล อีกที)

ลบไปแล้ว ด้วยคำสั่งสุด basic ใน php เลย
คือ unlink ลบไฟล์ และ rmdir ลบโฟลเดอร์
เลยไปหา function ลบทั้ง dir (ขี้เกียจเขียนเอง)
เจอที่ http://php.deeserver.net ได้ code มาดังนี้

<?php
function deldir($dir){
$current_dir = opendir($dir);
while(
$entryname = readdir($current_dir)){
if(
is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")){
deldir("${dir}/${entryname}");
}elseif(
$entryname != "." and $entryname!=".."){
unlink("${dir}/${entryname}");
}
}
closedir($current_dir);
rmdir(${dir});
echo
"เสร็จแล้วโว้ย";
}
?>

<?
deldir("webboard");
?>


saveชื่อ del.php แล้ว upload ไปไว้ใน server แล้วเรียกไฟล์ del.php
โคตรลุ้นเลย แลัวพลาดแล้วหายหมดทั้งเวบ   :14:
แต่จนแล้วจนรอด ก็ผ่านไปได้ด้วยดี   :26:
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 01 มี.ค. 2006, 08:18 น.
อันนั้นเป็นการลบทั้ง folder นะ

deldir("ชือโฟลเดอร์");
แก้ใส่ใน code ด้านบน


แต่ถ้าจะลบไฟล์เดี่ยวๆ ให้ใช้

unlink("ชื่อไฟล์");

ประมาณนี้แหละ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: iannnnn เมื่อ 01 มี.ค. 2006, 08:24 น.
ขอบคุณครับ (อ๊ะ.. 300)
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: i-poon เมื่อ 01 มี.ค. 2006, 08:40 น.
ปั่นต่อได้แล้วใช่ไหมครับ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: ooooo เมื่อ 01 มี.ค. 2006, 09:09 น.
ได้ผล!!




แค่ 2 โฟลเดอร์  :08:


อีกโฟลเดอร์นึงมันเหนียวแน่นหนึบมากครับ

ลบไงก็ไม่ออก

้httpdocs/files/working/0/160.png

ปัญหามันติดอยู่ที่โฟลเดอร์ working กับ 0 ครับ
มันไม่สามารถเอาไฟล์อะไรไปใส่ได้เลย แตะไม่ได้
ไปอ่านที่อื่นเอา เขาก็บอกว่าต้องไม่มีไฟล์อยู่ ถ้าจะใช้ rmdir
ซึ่งมันก็มี 160.png ซึ่งมันก็ลบไม่ได้ แก้ permission ไม่ได้

รบกวนหน่อยครับ โง่เรื่องระบบมาก  :05:
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 01 มี.ค. 2006, 10:21 น.
เข้าไปลบให้หมดแล้ว
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: ooooo เมื่อ 01 มี.ค. 2006, 10:21 น.
โอ้วส์ส์ส์ ขอบคุณคร้าบบบบบบ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: iannnnn เมื่อ 10 ธ.ค. 2006, 19:23 น.
ขุด



พอดีคุยกับป้าหน่อยเรื่องการลบไฟล์ที่มีปัญหาในกรณีเดียวกันนี้
ป้าหน่อยเลยเอาโค้ดตัวนี้ไปแก้ไข
โดยเพิ่มบรรทัดที่มันสั่ง CHMOD เป็น 777 ให้ด้วย ขอบคุณมากครับ :46:

ถ้าใครจะใช้งานตัวนี้อีกก็โหลดไปรันได้เลยครับ (ระวังไฟล์หายหมดเน่อ)
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 10 ธ.ค. 2006, 19:27 น.
งั้นฝากอันนี้อันนนึงแล้วกัน
ทำใช้ตอนย้าย img แล้ว permission ไม่ตรง

<?php
function mychmod($dir){
$handle = opendir($dir);
echo
"start <br>\n\n\n";
while(
false !== ($entryname = readdir($handle))) {
if($entryname != "." and $entryname != "..") {
if (! @chmod("${dir}/${entryname}", 0644)) {
echo "${dir}/${entryname} : ล้มเหลว <br>\n\n";
}
else {
echo "${dir}/${entryname} : ผ่าน <br>\n\n";
}
}
}

closedir($handle);
echo
"<br>เสร็จแล้วโว้ย";
}
?>

<?php
mychmod
("uploads");
?>
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นักสืบ เมื่อ 10 ธ.ค. 2006, 22:37 น.
ผมลองใช้ WS_FTP ลบได้ทุกไฟล์ครับ
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: X11 เมื่อ 11 ธ.ค. 2006, 14:36 น.
FTP ก็แล้วแต่สิทธิเหมือนกันนะ
ลองถ้า admin (root) เป็นคนสร้าง FTP เข้ามาด้วย user อื่น แล้วไม่ได้ให้สิทธิ user อื่นแก้ไขอะไรได้ ก็ลบไม่ออกเหมือนกัน
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 11 ธ.ค. 2006, 14:51 น.
ขยายความจากป้าหน่อยนะครับ

ส่วนใหญ่ไฟล์ที่ลบไม่ได้นั้นจะติดที่ permission หรือสิทธิ์ในไฟล์นั้นๆ
กรณีไฟล์ที่สร้างจาก script อาจจะได้ file owner เป็นอื่นๆ เช่น เป็นของ apache
ซึ่งทำให้ไม่มีสิทธิ์ในการเข้าถึงไฟล์นั้นๆ จึงจำเป็นต้องใช้ script ช่วยในการ chmod
เพื่อให้ user อื่นเข้าถึงไฟล์นั้นๆ ได้
permission จะมีอยู่ 3 ระดับ คือ
owner หรือเจ้าของไฟล์
group กลุ่มของไฟล์
public คือเปิดให้ใครเข้าถึงก็ได้
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: iannnnn เมื่อ 11 ธ.ค. 2006, 19:51 น.
ไม่เข้าใจคำว่า group ครับ
ขยายหน่อยได้บ่ :25:


รอมุก
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 11 ธ.ค. 2006, 19:59 น.
อ่ะ ขยาย
g      r      o      u      p














อุ้ย... คิดได้ไง ขำขี้แตก  :43:


กลุ่มไง ยกตัวอย่างให้เห็นง่ายๆ เลย
แอนเป็นผู้ใช้ อยู่ในกลุ่มยักษ์ จึงมีสิทธิ์เท่าที่ยักษ์จะมี
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: iannnnn เมื่อ 11 ธ.ค. 2006, 20:00 น.
แหม๊... กะแล้วต้องมามุกนี้
ตูเลยแอบพิมพ์ตัวสีขาวไว้ในโพสต์ก่อน :30:
(+2)
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: ยุนเอ เมื่อ 11 ธ.ค. 2006, 20:20 น.

ห น่ อ ย  :33:

// ไม่ทัน  {หมีโหด}
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: นายโอ้เอ้ เมื่อ 11 ธ.ค. 2006, 20:24 น.
ขยายหน่อยต้องแบบนี้

x          1          1


เอ้า งงล่ะสิ   (ป้าหน่อย x11 ไง :42:)
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: X11 เมื่อ 11 ธ.ค. 2006, 21:21 น.
 :44:
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: PH41 เมื่อ 14 ธ.ค. 2006, 19:14 น.
ผมใช้ http://fireftp.mozdev.org เป็น add-on ใน firefox อ่ะครับ ทำทุกอย่างได้เร็วดียกเว้นการอัพโหลด ไม่รู้เป็นที่ server ที่ผมใช้รึป่าว...
ชื่อเรื่อง: Re: ลบไฟล์ไม่ได้ใน FTP
โพสต์โดย: Soris0ri เมื่อ 24 ก.พ. 2007, 13:06 น.



ไฟล์ใน ฟด. โฟลเดอร์ที่ว่างๆกะว่าจะลบทิ้ง

แต่อยู่ๆ ลบไม่ได้ซะงั้นหน่ะ งงเลย  :08: