使用exec()命令创建本地文件的可点击链接?

时间:2011-06-17 09:04:18

标签: php

我是PHP的初学者所以请原谅任何无知......

我正在使用exec()命令,以获取媒体目录中的文件列表..

<?php // exec.php
$cmd = "dir";   // Windows
exec(escapeshellcmd($cmd), $output, $status);
if ($status) echo "Exec command failed";
else
{
echo "<pre>";
foreach($output as $line) echo "<a href='$line'>$line</a> \n";
}
?>

问题是它提供了文件列表以及文件名的各种时间戳 -

 Volume in drive F is Movies 
 Volume Serial Number is 172B-1DE0 
 06/17/2011  01:11 AM             6,318 bck.gif

因此,在这里它创建了可输出的每一行的可点击链接,不用说不起作用。

我想要的是它只会为文件名创建可点击的链接,而不是额外的元信息,然后用户可以点击这些信息来启动他的原生程序 -

video1.mpg
video2.mpg
bck.gif 

2 个答案:

答案 0 :(得分:2)

使用PHP的目录操作功能要好得多。 scandir()函数应该是您特别感兴趣的。

不要忘记scandir列表将包括。并且..你需要从结果集中删除它们,除非你打算用它们进行导航。

答案 1 :(得分:1)

没有必要使用exec();列出目录中的文件,PHP有许多用于处理文件系统的内置函数:

readdir()手册页:

<?php
if ($dirHandle = opendir('.')) {
    while (false !== ($nodeHandle = readdir($dirHandle ))) {
        if ($nodeHandle == '.' || $nodeHandle == '..') {
            continue;
        }
        echo "$nodeHandle \n";
    }
    closedir($dirHandle);
}
?>