Автор Тема: как мне преименовать файл вместе с его расширением?  (Прочитано 2654 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
как мне преименовать файл вместе с его расширением?
знаю что вопрос туповат но все же...
есть у меня файл $count.html а мне надо его в конце перлятника соответственно открыть наверно считать и переименовать в $count.shtml ....

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
гы-гы
« Ответ #1 : 31 Декабря 2001, 15:16:27 »
rename("count.html", "count.shtml") or die("Can not rename file");
 в исканиях.

  • Гость
ничего не переименовывается
« Ответ #2 : 01 Января 2002, 18:17:03 »
ничего не переименовывается... хоть бы что.. никакой реакции и ошибку тоже не выдает..

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
а так:
« Ответ #3 : 01 Января 2002, 18:37:26 »
rename("count.html", "count.shtml") or print "Content-type: text/html\\n\\n Can not rename file, reason $!";

Скрипт должен быть в той же папке, что и count.html, если это не так, то в имени файла надо писать и путь к файлу.
 в исканиях.

Оффлайн Tankist

  • Типа на танке
  • Старожил
  • ****
  • Сообщений: 461
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
rename("count.html", "count.shtml") or print "Content-type: text/html\\n\\n Can not rename file, reason $!";


Так тоже не верно:)Если переименуется, то сервер 500 выдаст, надо так:
print "Content-type: text/html\\n\\n";
rename("count.html", "count.shtml") or die("Не смог переименовать файл, причины: $!");
Удачи

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
ага
« Ответ #5 : 04 Января 2002, 01:24:10 »
Цитировать
Так тоже не верноЕсли переименуется, то сервер 500 выдаст, надо так:

;) ага, ваша правда, только die в любом случае выведет это не в броузер, как того хочет чел-к.
А чтоб в броузер, то правильно написать так:
unless(rename("count.html", "count.shtml")){
   print "Content-type: text/html\\n\\n Error: $!";
}   

во, теперь окей.
забавно, что не обрабатывалась
rename("count.html", "count.shtml") or print "Content-type: text/html\\n\\n Can not rename file, reason $!";

интересно почему?  наверное по тем же причинам, что и конструкция вида:
$i++ or print "Пусто, чувак!";
(а вот: ++$i or print "Привет!"; пройдет нормально)

Т.к. операция $i++ (в отличии от ++$i) происходит после действия, т.е. вначале проверили на истинность, а потом автоинкремент, и с ренеймом: вначале на истинность, а потом ренейм :) вот она perl философия!
« Последнее редактирование: 04 Января 2002, 01:29:12 от Green Kakadu »
 в исканиях.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28