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]   

> Описание: Помогите создать скрипт, который изменяет определённые данные в файле
Миша
Отправлено: 19 Декабря, 2014 - 17:46:20
Post Id


Новичок


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


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




Я новичок в PHP и по этому не могу решить такую проблему:
Допустим, у меня есть файл, который называется "text.txt". В нем записана такая информация:

Как с помощью php скрипта мне изменить второе число, что находится во второй строке в этом файле?
 
 Top
nazz
Отправлено: 18 Января, 2015 - 18:35:00
Post Id


Новичок


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


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




Варианты: 1. php, ручной редактор файлов :
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   if(isset($_POST['content']))
  3.   {
  4.     $fd = @fopen($_POST['filename'],"w");
  5.     if(!$fd) exit("Такой файл отсутствует");
  6.     fwrite($fd,stripslashes($_POST['content']));
  7.     fclose($fd);
  8.     $_GET['filename'] = $_POST['filename'];
  9.   }
  10. ?>
  11. <h1>Редактор файлов</h1>
  12. <form method="get">
  13. <em><strong>Почта</strong></em><br>
  14. <input type="text" size="30" name="email"/><em><strong>Секретное Имя файла</strong></em><br>
  15. <input type="text" name="filename" value=<?PHP echo $_GET['filename']; ?>><br>
  16. <input type="submit" value="Редактировать">
  17. </form>
  18. <?PHP
  19.   // Если в строке зароса передано имя
  20.   // файла - открываем его для редактирования
  21.   if(isset($_GET['filename']))
  22.   {
  23.     $fd = @fopen($_GET['filename'],"r");
  24.     if(!$fd) exit("Такой файл отсутствует");
  25.     $bufer = fread($fd,filesize($_GET['filename']));
  26.     fclose($fd);
  27.     ?>
  28.       <form  method="post">
  29.         <textarea cols=76 rows=10 name="content"><?PHP echo $bufer; ?></textarea><br>
  30.         <input type="hidden" name="filename" value='<?PHP echo $_GET['filename']; ?>'>
  31.         <input type="submit" name="edit" value="Редактировать">
  32.       </form>
  33.     <?PHP
  34.   }
  35. ?>

2. php, авто замена содержания файлов в директории:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   $text = 'Что на-х?'; // Искомая строка
  3.   $retext = '[Мат!]'; // Строка замены
  4.   $dirname = "./html";
  5.   scan_dir($dirname);  // Вызов рекурсивной функции
  6.  
  7.   function scan_dir($dirname)
  8.   {
  9.     // Объявляем переменные замены глобальными
  10.     GLOBAL $text, $retext;
  11.     // Открываем текущую директорию
  12.     $dir = opendir($dirname);
  13.     // Читаем в цикле директорию
  14.     while (($file = readdir($dir)) !== false)
  15.     {
  16.       // Если файл обрабатываем его содержимое
  17.       if($file != "." && $file != "..")
  18.       {
  19.         // Если имеем дело с файлом - производим в нём замену
  20.         if(is_file($dirname."/".$file))
  21.         {
  22.           // Читаем содержимое файла
  23.           $content = file_get_contents($dirname."/".$file);
  24.           // Осуществляем замену
  25.           $content = str_replace($text, $retext, $content);
  26.           // Перезаписываем файл
  27.           file_put_contents($dirname."/".$file,$content);
  28.         }
  29.         // Если перед нами директория, вызываем рекурсивно
  30.         // функцию scan_dir
  31.         if(is_dir($dirname."/".$file))
  32.         {
  33.           echo $dirname."/".$file."<br>";
  34.           scan_dir($dirname."/".$file);
  35.         }
  36.       }
  37.     }
  38.     // Закрываем директорию
  39.     closedir($dir);
  40.   }
  41. ?>
  42. <!--- RELOAD --->
  43. <script>
  44. timeGo = 0;
  45.  
  46. window.setTimeout('gotoTimer()', 1);
  47.  
  48. function gotoTimer() {
  49.         timeGo++;
  50.         if(timeGo > 6) {
  51.                 document.location = "";
  52.                 return;
  53.         }
  54.         document.getElementById('mmmorpg_refrash_timer').innerHTML = 'Обновление через <b>' + (6 - timeGo) + '</b> секунд.';
  55.         window.setTimeout('gotoTimer()', 1000);
  56. }
  57. </script>
  58. <div id="mmmorpg_refrash_timer"></div>
  59.  

(Отредактировано автором: 18 Января, 2015 - 18:39:03)

 
 Top
Миша
Отправлено: 24 Января, 2015 - 08:17:01
Post Id


Новичок


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


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




nazz пишет:
Варианты: 1. php, ручной редактор файлов :
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   if(isset($_POST['content']))
  3.   {
  4.     $fd = @fopen($_POST['filename'],"w");
  5.     if(!$fd) exit("Такой файл отсутствует");
  6.     fwrite($fd,stripslashes($_POST['content']));
  7.     fclose($fd);
  8.     $_GET['filename'] = $_POST['filename'];
  9.   }
  10. ?>
  11. <h1>Редактор файлов</h1>
  12. <form method="get">
  13. <em><strong>Почта</strong></em><br>
  14. <input type="text" size="30" name="email"/><em><strong>Секретное Имя файла</strong></em><br>
  15. <input type="text" name="filename" value=<?PHP echo $_GET['filename']; ?>><br>
  16. <input type="submit" value="Редактировать">
  17. </form>
  18. <?PHP
  19.   // Если в строке зароса передано имя
  20.   // файла - открываем его для редактирования
  21.   if(isset($_GET['filename']))
  22.   {
  23.     $fd = @fopen($_GET['filename'],"r");
  24.     if(!$fd) exit("Такой файл отсутствует");
  25.     $bufer = fread($fd,filesize($_GET['filename']));
  26.     fclose($fd);
  27.     ?>
  28.       <form  method="post">
  29.         <textarea cols=76 rows=10 name="content"><?PHP echo $bufer; ?></textarea><br>
  30.         <input type="hidden" name="filename" value='<?PHP echo $_GET['filename']; ?>'>
  31.         <input type="submit" name="edit" value="Редактировать">
  32.       </form>
  33.     <?PHP
  34.   }
  35. ?>

2. php, авто замена содержания файлов в директории:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   $text = 'Что на-х?'; // Искомая строка
  3.   $retext = '[Мат!]'; // Строка замены
  4.   $dirname = "./html";
  5.   scan_dir($dirname);  // Вызов рекурсивной функции
  6.  
  7.   function scan_dir($dirname)
  8.   {
  9.     // Объявляем переменные замены глобальными
  10.     GLOBAL $text, $retext;
  11.     // Открываем текущую директорию
  12.     $dir = opendir($dirname);
  13.     // Читаем в цикле директорию
  14.     while (($file = readdir($dir)) !== false)
  15.     {
  16.       // Если файл обрабатываем его содержимое
  17.       if($file != "." && $file != "..")
  18.       {
  19.         // Если имеем дело с файлом - производим в нём замену
  20.         if(is_file($dirname."/".$file))
  21.         {
  22.           // Читаем содержимое файла
  23.           $content = file_get_contents($dirname."/".$file);
  24.           // Осуществляем замену
  25.           $content = str_replace($text, $retext, $content);
  26.           // Перезаписываем файл
  27.           file_put_contents($dirname."/".$file,$content);
  28.         }
  29.         // Если перед нами директория, вызываем рекурсивно
  30.         // функцию scan_dir
  31.         if(is_dir($dirname."/".$file))
  32.         {
  33.           echo $dirname."/".$file."<br>";
  34.           scan_dir($dirname."/".$file);
  35.         }
  36.       }
  37.     }
  38.     // Закрываем директорию
  39.     closedir($dir);
  40.   }
  41. ?>
  42. <!--- RELOAD --->
  43. <script>
  44. timeGo = 0;
  45.  
  46. window.setTimeout('gotoTimer()', 1);
  47.  
  48. function gotoTimer() {
  49.         timeGo++;
  50.         if(timeGo > 6) {
  51.                 document.location = "";
  52.                 return;
  53.         }
  54.         document.getElementById('mmmorpg_refrash_timer').innerHTML = 'Обновление через <b>' + (6 - timeGo) + '</b> секунд.';
  55.         window.setTimeout('gotoTimer()', 1000);
  56. }
  57. </script>
  58. <div id="mmmorpg_refrash_timer"></div>
  59.  

Второй вариант - как раз то, что надо! Большое спасибо
 
 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