jquery-file-upload插件 - 更改上传路径

时间:2012-08-05 01:19:17

标签: php jquery jquery-ui jquery-plugins

我正在尝试更改上传文件的路径我希望它们位于根目录中名为“uploads”的目录中

我已成功更改了网址路径

'upload_url' => 'http://www.mydomain.co.uk/uploads/',

但是当我尝试更改目录上载路径时,代码将无法正常工作,并出现内部服务器错误消息。我似乎无法在日志中找到任何相关内容。

'upload_dir' => '../../uploads/',

这是代码的原始位

'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
'upload_url' => $this->getFullUrl().'/files/',

脚本的路径是$ _SERVER ['ROOT'] / server / php / index.php,原始文件目录位于/ server / php目录中。所以我想回到两个深处。

奇怪的是这是有效的:

'large' => array(
'upload_dir' => '../../uploads/',
'upload_url' => 'http://www.mydomain.co.uk/uploads/',
'max_width' => 1920,
'max_height' => 1200,
'jpeg_quality' => 95
),
'thumbnail' => array(
'upload_dir' => '../../thumbs1/',
'upload_url' => 'http://www.mydomain.co.uk/thumbs1/',
'max_width' => 80,
'max_height' => 80
)

但是,只要我对主要选项做同样的事情就会崩溃。我不知所措!

3 个答案:

答案 0 :(得分:0)

Here is a similar question.帖子中的评论提到这些选项应接受父文件夹路径,例如../folder

答案 1 :(得分:0)

答案并不是路径不起作用。它与目录的大小有关!因为它非常大,有数千张图像。因此,似乎脚本与巨大的图像目录分崩离析。将需要解决这个问题:( 也许让脚本检查数据库是否存在冲突的文件名,而不是搜索目录,因为我认为是这个问题。

答案 2 :(得分:0)

修正了,不确定这是否是最好的方式,但它有效!

我抛弃了这个受保护的函数get_file_objects()函数

因为那是扫描目录,如果你有大量的文件夹,从内存的角度来看并不酷。

然后我在“修剪文件名”功能的开头添加了一些随机的唯一编号

protected function trim_file_name($name, $type, $index) {
$realname = $name; 
 $realname = strtolower($realname);mt_srand((double)microtime()*3000000);
 $randvar =  mt_rand(3,30000000);
 settype($randvar,"string"); $file_name = trim(basename(stripslashes($randvar.$name)), ".\x00..\x20");

就是这样,所以我有一个唯一的文件名而不搜索目录