Php KCfinder为许多用户上传图像
我的网站允许登录用户使用CKeditor和CKFinder创建页面或博客,当然还可以从编辑器上传图像。对于许多将在单个文件夹中使用相同图像的用户,我遇到了一个问题。我在StackOverflow上搜索了相同的问题,发现了以下问题: 我认为这个解决方案很好,但我没有创建很多文件夹,我只是在考虑如何使用用户ID的前缀保存每个用户的图像。例如,ID为10的用户将使用前缀Php KCfinder为许多用户上传图像,php,Php,我的网站允许登录用户使用CKeditor和CKFinder创建页面或博客,当然还可以从编辑器上传图像。对于许多将在单个文件夹中使用相同图像的用户,我遇到了一个问题。我在StackOverflow上搜索了相同的问题,发现了以下问题: 我认为这个解决方案很好,但我没有创建很多文件夹,我只是在考虑如何使用用户ID的前缀保存每个用户的图像。例如,ID为10的用户将使用前缀10\uuuxxxxx.jpg保存其图像,依此类推 怎么做。任何人都可以告诉我文件脚本的哪一部分可以修改?我正在使用KCFinder
10\uuuxxxxx.jpg
保存其图像,依此类推
怎么做。任何人都可以告诉我文件脚本的哪一部分可以修改?我正在使用KCFinder V.3.12。对不起我的英语
$_SESSION['id'] = 10;
public function upload() {
$config = &$this->config;
$file = &$this->file;
$url = $message = "";
if ($config['disabled'] || !$config['access']['files']['upload']) {
if (isset($file['tmp_name'])) @unlink($file['tmp_name']);
$message = $this->label("You don't have permissions to upload files.");
} elseif (true === ($message = $this->checkUploadedFile())) {
$message = "";
$dir = "{$this->typeDir}/";
if (isset($_GET['dir']) &&
(false !== ($gdir = $this->checkInputDir($_GET['dir'])))
) {
$udir = path::normalize("$dir$gdir");
if (substr($udir, 0, strlen($dir)) !== $dir)
$message = $this->label("Unknown error.");
else {
$l = strlen($dir);
$dir = "$udir/";
$udir = substr($udir, $l);
}
}
if (!strlen($message)) {
if (!is_dir(path::normalize($dir)))
@mkdir(path::normalize($dir), $this->config['dirPerms'], true);
$filename = $this->normalizeFilename($file['name']);
$target = file::getInexistantFilename($dir . $filename);
if (!@move_uploaded_file($file['tmp_name'], $target) &&
!@rename($file['tmp_name'], $target) &&
!@copy($file['tmp_name'], $target)
)
$message = $this->label("Cannot move uploaded file to target folder.");
else {
if (function_exists('chmod'))
@chmod($target, $this->config['filePerms']);
$this->makeThumb($target);
$url = $this->typeURL;
if (isset($udir)) $url .= "/$udir";
$url .= "/" . basename($target);
if (preg_match('/^([a-z]+)\:\/\/([^\/^\:]+)(\:(\d+))?\/(.+)$/', $url, $patt)) {
list($unused, $protocol, $domain, $unused, $port, $path) = $patt;
$base = "$protocol://$domain" . (strlen($port) ? ":$port" : "") . "/";
$url = $base . path::urlPathEncode($path);
} else
$url = path::urlPathEncode($url);
}
}
}
有什么问题吗?只需将
$\u SESSION
数组中的ID和文件名连接起来。@dawiderency首先,我尝试添加$filename='10'.$filename;但不改变。我不知道如何继续使用会话