台灣最大程式設計社群網站
線上人數
1182
 
會員總數:246135
討論主題:189716
歡迎您免費加入會員
討論區列表 >> PHP >> 用renew或unlink檔案只有刪除內容
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
用renew或unlink檔案只有刪除內容
價值 : 50 QP  點閱數:1523 回應數:6
樓主

張詩雨
門外漢
0 20
395 36
發送站內信

我的php網頁是放在Linux系統的server裡,
不知為何,
我在程式裡做unlink和renew,

結果只有把檔案的內容刪掉,但是檔案還在!

而renew以搬移的方式做(不同路徑),也是一樣的結果!
(沒有搬移,而且只有刪掉檔案內容變成0 byte)

已將要搬移過去的目的資料夾設權限為777,
我的程式很簡單是這樣:

echo 是用來確認我是否有執行(做debug用)~
unlink是我測試兩種方法的註解(先試一個,將另一個註解這樣)

看網路上都是這樣寫的,不知道為什麼明明很簡單,我做就不對~~~
是跟步驟有關嗎?
我的步驟是這樣:
server端已有msg0000.txt檔案,我將他的權限設為777。
然後將我的php上傳到server端)跟msg0000.txt同資料夾的地方。
接著在瀏覽器(我是用火狐,這也會影響嗎??)打上我的php連結網址。
瀏覽器顯示123(我預先做好的debug用)

原來的檔案282bytes,
我做了以上動作後,在server端的msg0000.txt就變成0byte了......

不管程式是用unlink或者rename或者system(rm -rf)這些都是一樣的結果......

然而直接用Linux terminal之類的下指令卻沒問題(可以搬移和刪除)......
是跟權限有關嗎?
可是檔案確實改變了呀(只是變成0byte)......
(若沒權限應該是無法起作用的??)

搜尋相關Tags的文章: [ php搬移檔案 ] , [ php刪除檔案 ] ,
本篇文章發表於2012-11-07 09:52
== 簽名檔 ==
既然走到不歸路,那麼如果有人說:「哇!會寫程式的女孩子,真厲害!」
也可以算是一種安慰吧?(雖然寫程式能力很差)
1樓
作者回應

張詩雨
檢舉此回應
`chmod 777 *`;
是做其他測試用....
我改權限是用terminal下指令的
本篇文章回覆於2012-11-07 09:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

張詩雨
檢舉此回應
我改了
rename("$myFile", "images/$myFile");
變成
rename("$myFile", "/images/$myFile");

也一樣@@
(而且用刪除應該就沒有路徑問題了呀)
本篇文章回覆於2012-11-07 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

張詩雨
檢舉此回應
我發現了!
我無法刪除或搬移檔案!
(我用



做測試)
可是檔案都是權限777了呀......
本篇文章回覆於2012-11-07 10:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
有一個可能性,就是該檔案的所有人。並非是你PHP的帳號。
有可能是ROOT為所有人。

這樣對於其它人來說,可能就只有編輯權限。但無法做刪除的動作。

你可以利用FTP進去查看其所有人為誰。一般來說如果看到編號0的就是ROOT了。
你可以在FTP新建一個檔案去比較其所有人對還是不對。(前提是你FTP不能用ROOT做登入權限)

你也可以先簡單寫個測試程式,寫上刪除的處理後,並輸出其返回代碼。
一般就會告訴你錯誤的情況。如果如我所說的情況,那就是會出現無權限做處理。

另外就是~~你可以用程式去新建一個檔案。不要用terminal去建立檔案。
(一般用一些遠端控制所產生的檔案,因為大多你會用ROOT的帳號登入,所以所建立的檔案就會是ROOT所有。其它帳戶對這檔案是無法做一些處理
但ROOT是有最高權限的,可以刪除處理任何一個帳號用的檔案)

再用另外一隻程式去刪除這個檔案。看看會不會正常。
如果會正常,那就是百分百是你的檔案所有人不對。
本篇文章回覆於2012-11-07 10:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

張詩雨
檢舉此回應
原來如此!
謝謝您!
一語驚醒夢中人呀!
本篇文章回覆於2012-11-07 10:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

張詩雨
檢舉此回應
順帶一提,
我將檔案的上一層權限改成777後,
竟然神奇的都可以操作了!!!
例如mailbox的底下有php和msg0000.txt和images,改了mailbox權限為777。

後來才知道,

[quote]要設定的是存放該檔案的目錄權限
本篇文章回覆於2012-11-07 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.