Php JQuery文件上载自定义路径问题
我正在使用JQuery文件上传插件来添加将文件上传到我的网站的可能性 上传脚本位于类似“index.php?cartella_id=x”的页面中(x是表示相册id的数字) 我想存储如下文件:Php JQuery文件上载自定义路径问题,php,image-uploading,jquery-file-upload,Php,Image Uploading,Jquery File Upload,我正在使用JQuery文件上传插件来添加将文件上传到我的网站的可能性 上传脚本位于类似“index.php?cartella_id=x”的页面中(x是表示相册id的数字) 我想存储如下文件: server/php/files - directory 1/ - - Image x - - Image y - directory 2/ - - Image z - - Image z(2) 我基本上想为每个相册创建一个不同的目录 像我想要的那样存储图像并不困难,因为我通过使用如下形式的隐藏输入传递$
server/php/files
- directory 1/
- - Image x
- - Image y
- directory 2/
- - Image z
- - Image z(2)
我基本上想为每个相册创建一个不同的目录
像我想要的那样存储图像并不困难,因为我通过使用如下形式的隐藏输入传递$cartella_id
<input type="hidden" name="cartella_id" value="<?php echo $cartella_id; ?>">
session_start();
if(!isset($_SESSION["username"])) {
die();
}
if(isset($_REQUEST["cartella_id"])) {
$cartella_id = (int) $_REQUEST["cartella_id"];
$sql = "SELECT * FROM cartelle WHERE cartella_id = $cartella_id";
$query = mysql_query($sql);
if($cartella = mysql_fetch_array($query)) {
$upload_dir = '/files/'.$cartella_id.'/';
} else {
die();
}
} else {
die();
}
在UploadHandler.php页面中,我编辑了“upload\u dir”和“upload\u url”选项
'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/'.$_REQUEST["cartella_id"].'/',
'upload_url' => $this->get_full_url().'/files/'.$_REQUEST["cartella_id"].'/',
上传效果很好。。。问题是,如果我刷新上传页面,我就看不到已经上传的文件,就像没有指定自定义路径时脚本显示的那样。我可以使用$\u会话来解决此问题,但我不喜欢此解决方案,而且删除按钮在任何情况下都不起作用
我研究了很多PHP代码,也在谷歌上搜索了很多,但我找不到适合我的解决方案
当脚本检查现有文件(我找不到那段代码)时,如何发送自定义变量?
如何使删除按钮工作
提前感谢所以我通过编辑js/main.js解决了第一个问题(即使在重新加载页面后也能看到文件)。 我编辑了这个:
url: $('#fileupload').fileupload('option', 'url'),
对此
url: ($('#fileupload').fileupload('option', 'url') + "?cartella_id="+ document.getElementById('cartella_id').value),
但是仍然需要让删除按钮正常工作。因此我通过编辑js/main.js解决了第一个问题(即使在重新加载页面后也要使文件可见)。 我编辑了这个:
url: $('#fileupload').fileupload('option', 'url'),
对此
url: ($('#fileupload').fileupload('option', 'url') + "?cartella_id="+ document.getElementById('cartella_id').value),
但是仍然必须使删除按钮正常工作。我遇到了同样的问题,我解决了它,启用了用户目录并覆盖了类UploadHandler中的方法,如下所示: 我在删除url中添加了一个额外的参数 My index.php:
<?php
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
class CustomUploadHandler extends UploadHandler {
protected function get_user_id() {
return $_REQUEST['recordId'];
}
protected function set_additional_file_properties($file) {
$file->deleteUrl = $this->options['script_url']
.$this->get_query_separator($this->options['script_url'])
.$this->get_singular_param_name()
.'='.rawurlencode($file->name)
.'&recordId='.$_REQUEST['recordId']
;
$file->deleteType = $this->options['delete_type'];
if ($file->deleteType !== 'DELETE') {
$file->deleteUrl .= '&_method=DELETE';
}
if ($this->options['access_control_allow_credentials']) {
$file->deleteWithCredentials = true;
}
}
}
$upload_handler = new CustomUploadHandler(array(
'user_dirs' => true,
));
我没有编辑UploadHandler.php,我遇到了同样的问题,我解决了它,启用了用户目录并覆盖了类UploadHandler中的方法,如下所示: 我在删除url中添加了一个额外的参数 My index.php:
<?php
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
class CustomUploadHandler extends UploadHandler {
protected function get_user_id() {
return $_REQUEST['recordId'];
}
protected function set_additional_file_properties($file) {
$file->deleteUrl = $this->options['script_url']
.$this->get_query_separator($this->options['script_url'])
.$this->get_singular_param_name()
.'='.rawurlencode($file->name)
.'&recordId='.$_REQUEST['recordId']
;
$file->deleteType = $this->options['delete_type'];
if ($file->deleteType !== 'DELETE') {
$file->deleteUrl .= '&_method=DELETE';
}
if ($this->options['access_control_allow_credentials']) {
$file->deleteWithCredentials = true;
}
}
}
$upload_handler = new CustomUploadHandler(array(
'user_dirs' => true,
));
我没有编辑UploadHandler.php