Я прошел путь cookie, используя функции quirksmode cookieCreate и cookieRead, измененные на час (а не на дни). Значением cookie является 5-значная буквенно-цифровая строка (скрипт, основанный на этом форуме ).
Функция для значения cookie приведена ниже, хотя функции для создания и чтения cookie-файлов вам нужно будет извлечь из quirksmode по приведенной выше ссылке, поскольку я их здесь не копировал. Надеюсь, это кому-нибудь поможет. К вашему сведению, «сыр» - это стоимость печенья.
Измените upload.class.php (в каталоге server / php) и добавьте строку после строки 217. Строка 217 равна
$file_name = trim(basename(stripslashes($name)), ".\x00..\x20");
Добавить строку, изменяющую имя файла, следующим образом
$file_name = trim(basename(stripslashes($name)), ".\x00..\x20");
// add filename prefix
$file_name = $_COOKIE['user'].'_'.$file_name;
Затем, чтобы отобразить только файлы для этого пользователя, отредактируйте html-файл следующим образом
Оригинальный код
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
Отредактированный код
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
{% grab_the_cheese = file.name.split('_'); %}
{% if (grab_the_cheese[0] == cheese) { %}
<tr class="template-download fade">
и закройте if в нижней части
оригинал
</tr>
{% } %}
изм
</tr>
{% } /* cheese */ %}
{% } %}
Функция буквенно-цифровой строки из 5 цифр ниже
<script type="text/javascript">
// generate a cookie
chars = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','j','k','m','n','p','q','r','s','t','u','v','w','x','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
charCount = chars.length;
stringLength = 5;
var outputString = '';
function mkRandomString() {
i = 0;
do {
random = Math.floor(Math.random()*56);
random = chars[random];
outputString += String(random);
i++;
}
while (i<stringLength);
return outputString;
}
// set a cookie
//var cheese = document.cookie;
createCookie('user',mkRandomString(),1);
var cheese = readCookie('user');