作者jenny81510 (0.0)
看板PHP
標題[請益] 掃描目錄並可選擇上傳
時間Tue Sep 1 21:18:48 2015
各位高手好
有幾個問題想請教各位
小的我想要做一個上傳檔案系統
並可以掃描伺服器的資料夾後,選擇想要的資料夾上傳
但可能有多個階層
例如有2015、2014、2013、2012為名稱的目錄
每一個資料夾裡面都有no1、no2、no3的子目錄
想使用下拉式選單來實現 例如我選擇了2015的目錄
旁邊的選項就會跳成2015的子目錄可以選擇
以下為我的架構
如果這樣做法不對,也請各位指教
-paper(上傳目錄)
-manager(管理頁面的目錄)
-php檔
以下為我的程式碼
if ($handle = opendir('/var/www/paper')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_dir($file)) {
echo "$file <br>";
}
}
closedir($handle);
}
我使用判斷此文件是否為資料夾
若是資料夾則顯示資料夾名稱
但問題來了
由於我的php檔在第二層目錄底下
我使用opendir('/var/www/paper')絕對路徑似乎不管用
無法顯示出paper中的子目錄
也將權限調整過了
請問各位這個問題該如何實現
還有我使用的方法是否正確?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.145.202.49
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1441113531.A.DF1.html
1F:→ itisjoe: is_dir($file) 改成 is_dir('/var/www/paper/'.$file) 09/02 00:23
2F:→ itisjoe: 試試看 因為他的值只是該目錄名稱 不是絕對路徑 09/02 00:23
3F:推 shadowjohn: 關鍵字應該是 PrivateTmp=false 09/02 01:18
5F:→ shadowjohn: 看看是不是這個原因嘍~ 09/02 01:20
6F:推 ns1234: 推1樓,相對路徑的話其實 ('../'.$file) 就可以了 09/02 02:53
7F:→ ns1234: ^is_dir 09/02 02:54
8F:→ jenny81510: 謝謝一樓大大解決我的問題!!! 09/02 06:48
謝謝m大還有其他高手解決我的問題><!!感激不盡
不過有一個問題想請教 我將檔案上傳至目錄後
檔案權限為644
而我照著網路上的資訊在move_uploaded_file下面寫入一個chmod修改權限
以下為我的程式碼
由於太過修長有些修改
$adjust = 相對路徑.$_POST["newfilename"].".".$filename_extention;
chmod (ABS_PATH.$adjust ,0777);
但結果還是沒能將權限改掉QQ
我在想是否為路徑問題,但變數已經寫入相對路徑
又或者為放置位置問題
懇請各位大大解惑!!
※ 編輯: jenny81510 (61.58.106.109), 09/02/2015 06:54:40
9F:噓 ns1234: 我猜是妳沒有權限修改該檔案,sudo 或是把檔案改成你的試 09/02 10:13
10F:→ ns1234: 試? 09/02 10:13
11F:→ ns1234: 靠腰 不小心按到噓 等等補推 09/02 10:13
12F:推 ns1234: 推 09/02 10:18
13F:推 ns1234: 推 09/02 10:46
14F:→ NioTW: 要查目錄可以用 glob('/var/www/paper/*') 一次搞定 09/05 08:00
15F:→ NioTW: 要查.txt 就 glob('/var/www/paper/*.txt') 09/05 08:02