Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как убить процесс повторного выполнения скрипта при перезагрузке страницы?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Miyagi
Отправлено: 13 Октября, 2015 - 10:09:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




Други, нужна помощь. Есть скрипт замены значений в js файле. Работает, но проблема в том, что нужно соблюсти условие - если уже замена произошла, остановить выполнение скрипта, так как при каждой перезагрузке страницы он дописывает к значению по еще одной единице. (frame11.php, frame11).
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $file = fopen('menu1.js', 'r');
  3. $text = fread($file, filesize('menu1.js'));
  4. fclose($file);
  5. $file = fopen('menu1.js', 'w');
  6. $text = str_replace('</INVENTORY>', '', $text);
  7. $text = str_replace('frame.php', 'frame1.php', $text);
  8. $text = str_replace('frame', 'frame1', $text);
  9. fwrite($file, $text);
  10. fclose($file);
  11. ?>

(Отредактировано автором: 13 Октября, 2015 - 10:31:17)

 
 Top
andrewkard
Отправлено: 13 Октября, 2015 - 10:44:49
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Miyagi
Попробуйте добавить комментарий на первой строке файла при первом запуске, в последующем проверяйте, если он есть - пропуск.
(Добавление)
Либо, если это нужно делать периодично, запоминайте в сессии время модификации.
 
 Top
Miyagi
Отправлено: 13 Октября, 2015 - 11:05:08
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




andrewkard пишет:
Miyagi
Попробуйте добавить комментарий на первой строке файла при первом запуске, в последующем проверяйте, если он есть - пропуск.
(Добавление)
Либо, если это нужно делать периодично, запоминайте в сессии время модификации.


Не понял А как это прописать в скрипте? Я просто еще не могу справиться с синтаксисом. По логике, ему надо найти строку, сравнить, и либо продолжить либо exit.
 
 Top
andrewkard
Отправлено: 13 Октября, 2015 - 12:18:24
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Miyagi
Не тестировал:
PHP:
скопировать код в буфер обмена
  1.  
  2. $file = fopen('menu1.js', 'r');
  3. $line = fgets($file);
  4. if (strpos($line,'/*comment*/') !== false){
  5.     exit;
  6. }
  7. $text = fread($file, filesize('menu1.js'));
  8. fclose($file);
  9. $text .='/*comment*/';
  10. $file = fopen('menu1.js', 'w');
  11. $text = str_replace('</INVENTORY>', '', $text);
  12. $text = str_replace('frame.php', 'frame1.php', $text);
  13. $text = str_replace('frame', 'frame1', $text);
  14. fwrite($file, $text);
  15. fclose($file);
  16.  
 
 Top
Miyagi
Отправлено: 13 Октября, 2015 - 12:37:08
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




andrewkard пишет:
Miyagi
Не тестировал:
PHP:
скопировать код в буфер обмена
  1.  
  2. $file = fopen('menu1.js', 'r');
  3. $line = fgets($file);
  4. if (strpos($line,'/*comment*/') !== false){
  5.     exit;
  6. }
  7. $text = fread($file, filesize('menu1.js'));
  8. fclose($file);
  9. $text .='/*comment*/';
  10. $file = fopen('menu1.js', 'w');
  11. $text = str_replace('</INVENTORY>', '', $text);
  12. $text = str_replace('frame.php', 'frame1.php', $text);
  13. $text = str_replace('frame', 'frame1', $text);
  14. fwrite($file, $text);
  15. fclose($file);
  16.  


К сожалению, не работает... Так же дописывает каждый раз по единице frame11, frame111 и т.д. И добавляет столько же /*comment*/ /*comment*/ в конец файла при каждой перезагрузке страницы.
 
 Top
andrewkard
Отправлено: 13 Октября, 2015 - 12:41:32
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Miyagi
Да, ошибочка вышла Улыбка
Замените $text .='/*comment*/';
на
$text ='/*comment*/'.$text;

Посмотрите, на первой строке появились комменты?
 
 Top
Miyagi
Отправлено: 13 Октября, 2015 - 12:49:11
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




andrewkard пишет:
Miyagi
Да, ошибочка вышла Улыбка
Замените $text .='/*comment*/';
на
$text ='/*comment*/'.$text;

Посмотрите, на первой строке появились комменты?


Появились, но ВМЕСТО первой строки.
Файл меню перестал выводиться на страницу. К стати, (про отображение файла) так стало еще после первой редакции скрипта.
 
 Top
andrewkard
Отправлено: 13 Октября, 2015 - 14:04:20
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Miyagi пишет:
Появились, но ВМЕСТО первой строки.

Интересно. Надеюсь ничего не пропало?
Пробуйте еще так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $text ='/*comment*/'.$line.$text;
  3.  

(Добавление)
Miyagi пишет:
Файл меню перестал выводиться на страницу

Что имеется в виду?
 
 Top
Miyagi
Отправлено: 13 Октября, 2015 - 14:22:58
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




andrewkard пишет:
Miyagi пишет:
Появились, но ВМЕСТО первой строки.

Интересно. Надеюсь ничего не пропало?
Пробуйте еще так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $text ='/*comment*/'.$line.$text;
  3.  


Все заработало, ровно до первого обновления (F5) страницы. Comment прописался на первой строке, и потом после обновления страницы (см. ниже)


(Добавление)
Miyagi пишет:
Файл меню перестал выводиться на страницу

Что имеется в виду?


Файл меню (menu.js) перестал отображаться в браузере. Вместо него чистое поле. Хотя после многократных обновлений страницы, файл перестал перезаписываться.
(Добавление)
Все заработало, большущее спасибо! Я просто перенес код из фрейма куда грузится menu1.js в в тот фрейм, куда собственно и ведут ссылки с menu1.js
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB