2016-09-28 65 views
1

應用程序的文件上傳/下載部分受密碼保護,因此只有管理員可以上傳,查看和下載文件。但他們不能駐留在public_html內,因爲他們包含個人信息,不能在未登錄的情況下訪問。jquery-file-upload插件 - 如何更改public_html下面/外部的上傳路徑?

我能夠更改上傳文件夾 - 但它看起來必須在public_html中,否則你不能查看你的上傳,你不能下載它們。

這適用於web public_html目錄內的「正常」操作 - 但如何將'upload_url'=> HTTP_SERVER設置爲public_html之外?似乎必須有一些路徑翻譯,所以file_upload應用程序可以提供一個下載鏈接,也許緩衝讀取輸出用戶的瀏覽器?

<?php 
// index.php 
/* 
* jQuery File Upload Plugin PHP Example 
* https://github.com/blueimp/jQuery-File-Upload 
* 
* Copyright 2010, Sebastian Tschan 
* https://blueimp.net 
* 
* Licensed under the MIT license: 
* http://www.opensource.org/licenses/MIT 
*/ 
// using jQuery-File-Upload version: 9.12.5 

error_reporting(E_ALL | E_STRICT); 

// UploadHandler.php and index.php remain in the default location 
// jQuery-File-Upload_root/server/php/ 

require('UploadHandler.php'); 

define('DIR_DOWNLOAD', '../../_uploads/'); // the directory is in jQuery-File-Upload_root/_uploads 

define('HTTP_SERVER', 'http://localhost/jQuery-File-Upload-9.12.5/_uploads/'); 

$upload_handler = new UploadHandler(
    array(
     'upload_dir' => DIR_DOWNLOAD, 
     'upload_url' => HTTP_SERVER, 
    ) 
); 

回答

0

如果你想從你的www文件夾外保存文件,那麼你的文件不是通過URL直接訪問。在這種情況下,您不需要爲'upload_url'提供任何值。而是將'download_via_php'設置爲true。

$options = array(
     "upload_dir" => '/home/farawayfromwww/test/', 
     "download_via_php" => 1 
    ); 

error_reporting(E_ALL | E_STRICT); 
require('UploadHandler.php'); 
$upload_handler = new UploadHandler($options);