![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
Гость_Артем |
|
|||
Unregistered |
Написал скрипт на перле которая ходит по пакпкам на сервере удаляет все ненужные файлы и соответсвенно удаляет ссылки на них из индекса, удаляет все исправно , открывает индекс исправно исправляет тоже нормально( в массиве куда я закинул содержимое файла), но в итоге не записывает в файл, я пробовал в index.html и index.htm то есть index.htm существует а index.html нет, открывать и закравать файл не забывал, може это проблемы с правами доступа?
|
|||
|
||||
sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 3 Всего: 28 |
так и есть, выставь права доступа на запись! -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
Гость_Артем |
|
|||
Unregistered |
Не получилось - попробовал поставить прямо в скрипте chmod 0777, $File; ($File это переменная где находится полный путь к файлу), поставил через фтп тоже не изменило, на моем компе когда тестировал все изменяло, то есть проблема как я понял не правильности ситаксиса, а в спецификации Unixа, до того как я изменил доступ стояло по умолчанию 0755
|
|||
|
||||
sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 3 Всего: 28 |
Гость_Артем попробуй при записи ввести лог сообщений, явно где-то косяк, либо файл не находит, либо не может записать.
![]() Это сообщение отредактировал(а) sharq - 31.8.2005, 16:32 -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
Usya |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
1) Проверь, не забыл ли случайно поставить > перед файлом? Без приколов. Иногда сам пропускаю
![]() 2) Если запускаешь через cron, насколько знаю, путь должен быть полным вроде /home/.../public_html/.../index.htm. Возможно и здесь что-нибудь такое. А по-хорошему бы кусок кода привел бы. P.s. А ты не пробовал зарегистрироваться, чтоб не плодить темы с одинаковыми названиями, а ненужное удалять? ![]() Это сообщение отредактировал(а) Usya - 1.9.2005, 15:45 --------------------
Я не волшебник, я только учусь... |
|||
|
||||
Guest |
|
|||
Unregistered |
P.s.
А ты не пробовал зарегистрироваться, чтоб не плодить темы с одинаковыми названиями, а ненужное удалять? За это извеняюсь, инет запарился и с дуру два раза нажал. if ($file eq 'index.htm' or $file eq 'index.html') { chmod 0777, $x; # в $file находится имя открываемого файла в $x полный путь print "$file\n"; open(OldIndex, "$x") || "Error open $file: $!"; @OldIndex=<OldIndex>; close(OldIndex); foreach $stroka (@OldIndex) { $_=$stroka; if (m/<a ID="A2" href.*($BADWORDS).*a><br>/i) # сдесь я нахожу нужные мне строки для удаления { s/<a.*<br>//i; $stroka=$_; } } open(NewIndex, ">$x"); #print"@OldIndex\n"; #выводтся при неоходимости содержание массива print NewIndex @OldIndex; close(NewIndex); chmod 0755, $x; } что сделал не так ну чесно не знаю, скрипт первой легкости, выводил даже содеражание массива который хочу записать все нормально |
|||
|
||||
Guest |
|
|||
Unregistered |
Все пацаны разобрался проблемы были с путями неправильно путь я писал там поэтому записать не получалось
|
|||
|
||||
Usya |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Немного поздновато отправил
![]() Кстати, в следующие разы в таких случаях пиши вместо open(NewIndex, ">$x"); open(NewIndex, ">$x") || die 'Error!'; или open(NewIndex, ">$x") || print $!. Да и еще. Вместо
лучше
При этом строка $_=$stroka - не нужна, не нужен массив и экономится некоторое время на перегонку в массив (для маленьких файлов практически не заметно)... Это сообщение отредактировал(а) Usya - 1.9.2005, 18:25 --------------------
Я не волшебник, я только учусь... |
||||
|
|||||
Kiber_rat |
|
||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: нет Всего: 9 |
Скорее всего, если есть возможность, посмотри error_log апача. Желательно знать с какими правами выполняется скрипт. Елси это юзер web, www, apache или что-то такое, то у него должны быть права на запись в файл. Если скрипт выполняется под тем же юзером под которым ты заходишь на сервер (если у тебя есть ssh доступ) то проверь что этот же юзер является и владельцем файла.
Что бы проверить права создай простой cgi скрипт, что-то типа
Попробуй поставить права 666 на твой index.html, хотя это не очень хорошее решение, но если скрипт отработает нормально то грабли именно в правах. Обязательно проверь права на папку в которой лежит index.html... Будут непонятки - спрашивай... P.S. Это вобще то тема для CGI программирования, будь внимательнее ![]() -------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||
|
|||||
Guest |
|
|||
Unregistered |
спасибо за совет, это у меня первая программа на перле конечно где-то мог пропарится
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |