Здравствуйте, я использую Uploadify для загрузки фотографий.
Когда пользователь входит в систему, его ID сохраняется в сеансе, но после выгрузки чего-либо с помощью Uploadify его ID удаляется из сеанса, поэтому похоже, что он не вошел в систему.
Я пытался передать его ID с идентификатором сеанса и именем сеанса как scriptData , но он также не работал. Когда пользователь вошел в систему и пытается загрузить sth, после завершения сеанса загрузки ( идентификатор пользователя и имя загруженной фотографии не сохранены).
Когда пользователь не вошел в систему, сеанс содержит имя загруженной фотографии ...
Вот .js:
$(document).ready(function() {
$('#fileUpload').uploadify({
'uploader' : '{/literal}{$PATH_TO_ROOT}{literal}scripts/js/uploadify/uploadify.swf',
'script' : '{/literal}{$URL_PREFIX}{$tc->get('uploadify')}{literal}',
'scriptData' : {'PHP_SESS_ID': '{/literal}{$sessionId}{literal}','PHP_SESS_NAME':'{/literal}{$sessionName}{literal}'{/literal}{if $user},'PHP_SESS_UZIV':'{$user->get('Id')}'{/if}{literal}},
'cancelImg' : '{/literal}{$PATH_TO_ROOT}{literal}scripts/js/uploadify/cancel.png',
'fileDataName' : 'Filedata',
'fileExt' : '*.jpg;*.gif;*.png',
'fileDesc' : 'Image Files',
'sizeLimit' : 5242880, // 5x1024x1024 bytes
'auto' : false,
'buttonText' : 'VYBERTE FOTKU',
'buttonImg' : '{/literal}{$PATH_TO_ROOT}{literal}scripts/js/uploadify/uploadify-butt-{/literal}{$lang}{literal}.jpg',
'rollover' : true,
'width' : 300,
'height' : 45,
'hideButton' : false,
'method' : 'post',
'multi' : false,
'onAllComplete' : function(event,data) {
window.location.href = '{/literal}{$URL_PREFIX}{$tc->get('photo-uploaded')}{literal}';
}
});
});
Вот серверный скрипт:
if (!empty($_FILES)) {
$session_id = $_POST["PHP_SESS_ID"];
$session_name = $_POST["PHP_SESS_NAME"];
session_id($session_id);
session_name($session_name);
if (isset($_POST["PHP_SESS_UZIV"])) {
$user_id = $_POST["PHP_SESS_UZIV"];
$_SESSION['sess_us_id'] = $user_id;
}
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = dirname(dirname(__FILE__)) . '/img/';
$newName = time() . '_' . StripAccent($_FILES['Filedata']['name'], '', false, false);
$targetFile = str_replace('//','/',$targetPath) . $newName;
$savePic = savePic($targetPath, $newName, -590, -500, 100, $tempFile);
$saveThumb = savePic($targetPath, getThumbName($newName), -185, -142, 100, $targetFile);
$_SESSION['uploadedPhoto'] = $newName;
}
Спасибо за помощь
РЕДАКТИРОВАТЬ: Я обнаружил, что этот код работает на одном, но не на другом сервере ...