2016-03-10 45 views
1

我正在做一个学校项目,学生可以上传学习笔记来帮助其他学生。我已经创建了上传单词/页面文件的功能,但是我希望在文件上传后启用该功能,其他用户可以单击该文件并为其下载。上传Word文档创建文件下载(PHP)

不是真的一定要放什么代码..(这是upload.php的)

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

     $name  = $_FILES['file']['name']; 
     $tmpName = $_FILES['file']['tmp_name']; 
     $error = $_FILES['file']['error']; 
     $size  = $_FILES['file']['size']; 
     $ext  = strtolower(pathinfo($name, PATHINFO_EXTENSION)); 

     switch ($error) { 
      case UPLOAD_ERR_OK: 
       $valid = true; 
       //validate file extensions 
       if (!in_array($ext, array('jpg','jpeg','png','gif', 'docx', 'mp3'))) { 
        $valid = false; 
        $response = 'Invalid file extension.'; 
       } 

而这正是该文件去(files.php)

<?php 
     //scan "uploads" folder and display them accordingly 
     $folder = "uploads"; 
     $results = scandir('uploads'); 
     foreach ($results as $result) { 
     if ($result === '.' or $result === '..') continue; 

     if (is_file($folder . '/' . $result)) { 
      echo ' 
      <div class="col-md-3"> 
       <div class="thumbnail"> 
        <img src="'.$folder . '/' . $result.'" alt="..."> 
         <div class="caption"> 
         <p><a href="remove.php?name='.$result.'" class="btn btn-danger btn-xs" role="button">Remove</a></p> 
        </div> 
       </div> 
      </div>'; 
     } 
     } 
     ?> 

干杯!

+1

如果你想下载一个文件,你只需要把文件的链接,它会自动为你做。 :) ie:'header(“Location:http://example.com/example.docx”);退出();' – KDOT

+1

或除@ KyleE4K评论外,还可以选择将其添加到''标记中。 'yourfile.docx' – catzilla

+0

@catzilla - 在代码中的位置? – blakeusmate

回答

1

如果你想添加一个链接,其他用户可以下载上传文件,尝试添加一个<a>标签与文件的相应链接:

<?php 
    //scan "uploads" folder and display them accordingly 
    $folder = "uploads"; 
    $results = scandir('uploads'); 
    foreach ($results as $result) { 
    if ($result === '.' or $result === '..') continue; 

    if (is_file($folder . '/' . $result)) { 
     $file = $folder.'/'.$result; 
     echo '<a href="{$file}" target="_blank">{$result}</a><br/>'; 
     //other codes 
    } 
    } 
?> 
+0

尝试此..文件说($结果)去点击它,它带我到一个不存在的位置 – blakeusmate

+1

然后根据您的文件目录结构,您应该对齐或更正文件的位置,以便该链接将是正确的。也许你能分享给我们你的项目的目录结构吗? – catzilla