2012-11-04 82 views
0

我正在为我的大学制作一个资源目录。我不知道PHP,我正在学习一些东西。我已经使用动态下拉列表成功创建了上传部分。我已经添加了3个级别,首先选择哪个流/部门,然后选择哪个学期,然后选择哪个学期,然后单击上传时,文件将正确地转到所需的目录。列出目录中的文件和表格链接供下载

现在,我想知道如何显示所有正在上传的文件?他们都在目录中。如何列出它们并显示我的用户/访问者,以便他们可以选择要下载的内容?我附加的例子只有2个engg流,2个sems,每个sem下有2个主题。我想以分离的方式列出所有内容。说一个具有CSE/SEM1/Data Structures /这个类别下的所有文件的页面,另一个页面具有CSE/SEM2/Networks /这个类别下的所有文件。不仅列出,而且还形成一个链接,以便他们可以下载它。

我的索引页是否正确?它有一个下载页面导航。我希望用户点击它。点击它们后,它们会被重定向到与动态下拉菜单上载页面相似的页面。他们选择流,sem和主题,然后单击下一步。 (我必须创建该页面)它们被重定向到一个页面,该页面单独显示THAT目录(stream/sem/subj/allfiles)中的所有文件的列表。此外,该列表必须链接,以便在单击该文件名时,他们可以下载他们想要的文件或在名称旁边具有下载选项。

请检查我的附件/链接,请帮我最早解决这个问题。

http://www.mediafire.com/?hevt1f4a1rpbyvp

谢谢:)

+0

我一派,我提供它只能找到方法列出目录中的文件,我只能成功地做到这一点。但是我的要求与我上面提到的不同。我指的是使用下拉菜单重定向到页面的一些方法。但仍然面临着如何在子文件夹(stream/sem/subj/files.extension)中显示文件并使其可下载的问题。 – trollster

+0

检查[这个问题](http://stackoverflow.com/questions/7254748/php-recursively-file-folder-scan-sorted-by-modification-date)。它建议使用这个名为[SPL目录迭代器](http://php.net/manual/en/class.directoryiterator.php)的库,或者您可以DIY [如此问题]中所示(http:// stackoverflow .com/questions/2398147/php-recursive-directory-path) –

+0

是的,显示部分很好。我明白了,会尝试一下。但我想让文件也可以下载。我怎么做? – trollster

回答

0

以服务为要下载的文件,创建一个PHP脚本读取该文件,然后用适当的标题

// ensure the file exists 
if(isset($_GET['file']) && file_exists($_GET['file'])){ 

    // Read the file some.zip 
    $file = file_get_contents($_GET['file']); 

    // Set headers to serve the file for download 
    header('Content-Type: application/zip'); 
    header('Content-Disposition: attachment; filename="$_GET['file']"'); // name file here 
    header('Content-Length: ' . strlen($file)); // length of the file 

    // echo the file 
    echo $file; 
} 
+0

排序的理解,你可以编辑你的代码并在每个声明旁边添加注释,解释每个声明的作用? – trollster

+0

这很简单,但有你的意见 –

+0

非常感谢先生。我有疑问,所以对于每个文件,我必须命名文件名是?它不会自己读? – trollster