Я пытаюсь внести некоторые коррективы в uploadify.php, который поставляется с последней версией uploadify (3.0 beta), чтобы он работал с переменной сеанса, которая хранит имя пользователя для входа и добавляет его в путь для выгрузки. Вот так выглядит uploadify.php:
<?php
session_name("MyLogin");
session_start();
$targetFolder = '/songs/' . $_SESSION['name']; // Relative to the root
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
$targetFile = rtrim($targetPath,'/') .'/'. $_FILES['Filedata']['name'];
// Validate the file type
$fileTypes = array('m4a','mp3','flac','ogg'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
echo '1';
} else {
echo 'Invalid file type.';
}
}
echo $targetFolder;
?>
Я добавил echo $targetFolder;
внизу, чтобы я мог убедиться, что возвращенная строка верна, и это, например, «/ songs / nick». По какой-то причине, однако, загрузка не идет в правильную папку, то есть папку имени пользователя, но вместо этого идет в родительскую папку «песни». Папка для имени пользователя существует, с правильными разрешениями, и когда я вручную ввожу $targetFolder = '/songs/nick';
, все работает нормально. Что кажется мне довольно странным. У меня ограниченный опыт использования php, но мне интересно, как, если переменная сеанса возвращает правильную строку, загрузка работает иначе, чем при вводе вручную строки.
Любая помощь будет высоко ценится. Это последний выпуск сайта, который должен был появиться 2 дня назад!
Спасибо
Ник