作者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/cn.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