[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не получается переименовать папку
l@pteff
Здравствуйте, возник такой вопрос: есть папка, её нужно переименовать но уже долго не получается.
Форма для переименования

<form accept-charset="utf-8" method="post">
<input
type="hidden" id="old_title" name="old_title" value="old" /> <!--старое название папки-->
<input type="text" id="new_title" name="new_title" value="new" /> <!--новое название папки-->
<input type="submit" value="Ok" />
</form>


Переименование папки

$new_title=trim(strip_tags($_POST['new_title']));
if (rename('/folders/'.iconv('UTF-8', 'CP1251', $_POST['old_title']), '/folders/'.iconv('UTF-8', 'CP1251', $new_title)) {
echo "Все ОК"
}
else {
echo 'Не удалось переименовать папку';
}

Скрипт выдает что все ОК, но папка остается с прежним названием. Кодировка файлов UTF-8 без BOM.



Спустя 29 минут, 9 секунд (11.08.2012 - 22:20) Winston написал(а):
А если так?
<input type="submit" value="Ok" name="ok" />
$new_title=trim(strip_tags($_POST['new_title']));
if (isset($_POST['ok'])) {
chmod('/folders/'.iconv('UTF-8', 'CP1251', $_POST['old_title']), 0777);
var_dump((bool)rename('/folders/'.iconv('UTF-8', 'CP1251', $_POST['old_title']), '/folders/'.iconv('UTF-8', 'CP1251', $new_title));
}

Что выводит var_dump?

Спустя 24 минуты, 1 секунда (11.08.2012 - 22:44) l@pteff написал(а):
Выводится bool(false)

Спустя 4 минуты, 4 секунды (11.08.2012 - 22:48) kamanch написал(а):
А права на папку соотвтсвующие выставлены?

Спустя 10 минут, 41 секунда (11.08.2012 - 22:58) Winston написал(а):
Возможно с путями, что то не так, попробуй вывести путь до папки на экран
echo realpath('./folders/'.iconv('UTF-8', 'CP1251', $_POST['old_title']));

Правильный путь выводит?

Спустя 17 минут, 1 секунда (11.08.2012 - 23:15) l@pteff написал(а):
Путь выводит правильно, и даже если папку называю скажем "folder1", print_r($_POST['old_title']) выводит как и положено "folder1", но если делаю проверку

if ($_POST['old_title']=='folder1') {echo 'Yes';} else {echo 'No';}

Выдает что строки не совпадают. Видимо в кодировках какой-то бок

Спустя 5 минут, 44 секунды (11.08.2012 - 23:21) killer8080 написал(а):
l@pteff
а сервер на чем?

Спустя 1 минута, 46 секунд (11.08.2012 - 23:23) l@pteff написал(а):
на винде

Спустя 12 часов, 21 минута, 18 секунд (12.08.2012 - 11:44) Winston написал(а):
А trim($_POST['old_title']) ?
Может что то попадает в POST

Спустя 6 минут, 46 секунд (12.08.2012 - 11:51) killer8080 написал(а):
Цитата (l@pteff @ 12.08.2012 - 00:23)
на винде

Думаю, нужно использовать полные пути, с указанием диска.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.