jquery-file-upload插件 - 如何更改public_html下面/外面的上传路径?

时间:2016-09-28 23:54:07

标签: php jquery

应用程序的文件上传/下载部分受密码保护,因此只有管理员才能上传,查看和下载文件。但它们不能驻留在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,
    )
);

1 个答案:

答案 0 :(得分:0)

如果要将文件保存在www文件夹之外,则无法通过网址直接访问您的文件。在这种情况下,您无需为'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);