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]   

> Без описания
noobik
Отправлено: 07 Ноября, 2011 - 13:29:46
Post Id


Новичок


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


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




Здравствуйте. У меня такая ситуация.
Есть сайт, написан на html/css. страницы правятся крайне редко. НО всё же иногда правятся и каждый раз перезаливать файлы неудобно.

хотел сделать скрипт, который мог бы открывать в браузере и там править файлы. так было бы удобнее (править там, где есть инет).

в итоге полазил в инете, собрал вот такой код:

PHP:
скопировать код в буфер обмена
  1. $file='name.htm';
  2. $temp=isset($_POST['temp'])?$_POST['temp']:'';
  3. $edit=isset($_POST['edit'])?$_POST['edit']:'';
  4. if ($edit=='Edit')
  5. { file_put_contents($file,$temp); }
  6. $temp=file_get_contents($file);
  7. echo "<form method='post'>";
  8. echo "<textarea name='temp' cols='100%' rows='35'>".htmlspecialchars($temp)."</textarea><br>";
  9. echo "<input type='submit' name='edit' value='Edit'>";
  10. echo "</form>";


получается, я запускаю этот скрипт в браузере, мне выводится код страницы name.htm и кнопка сохранения.
всё бы хорошо, только файлов для правки у меня 5 штук. и делать 5 скриптов не хочется.

подскажите, как добавить сверху поле для ввода имени файла и кнопочку, по нажатию которой текстарея открывала указанный файл?
 
 Top
etoYA
Отправлено: 08 Ноября, 2011 - 22:05:57
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


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




Создаеш форму с типом GET, в ней поле и кнопку, вместо $file='name.html'; пишеш $file = $_GET['название поля']; и теперь сюда вводиш наз-ние страницы введеш name.html будет тебе name.html введеш index.html будет тебе index.html

PHP:
скопировать код в буфер обмена
  1.  
  2. $file='name.htm';
  3. $temp=isset($_POST['temp'])?$_POST['temp']:'';
  4. $edit=isset($_POST['edit'])?$_POST['edit']:'';
  5. if ($edit=='Edit')
  6. { file_put_contents($file,$temp); }
  7. $temp=file_get_contents($file);
  8. echo "<form method='post'>";
  9. echo "<textarea name='temp' cols='100%' rows='35'>".htmlspecialchars($temp)."</textarea><br>";
  10. echo "<input type='submit' name='edit' value='Edit'>";
  11. echo "</form>";
 
 Top
mik_name
Отправлено: 08 Ноября, 2011 - 22:30:15
Post Id


Новичок


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


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




Где-так. Если на сервере включены магические кавычки нужно использовать stripcslashes.
PHP:
скопировать код в буфер обмена
  1. <html>
  2.     <body>
  3.         <form metod ="GET">
  4.             <input type ="text" name ="fname">
  5.         </form>
  6.  
  7. <?  
  8.     if (isset($_GET['fname'])) {
  9.     $file = $_GET['fname'];
  10.     $temp = isset($_POST['temp']) ? $_POST['temp'] : '';
  11.     $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
  12.     if ($edit == 'Edit') {
  13.         file_put_contents($file, stripcslashes($temp));
  14.     }
  15.     $temp = file_get_contents($file);
  16.     echo "<form method='post'>";
  17.     echo "<textarea name='temp' cols='100%' rows='35'>" . htmlspecialchars($temp) . "</textarea><br>";
  18.     echo "<input type='submit' name='edit' value='Edit'>";
  19.     echo "</form>";
  20. }
  21. ?>
  22.      </body>
  23. </html>

Сначала попробовал применить в html части метод POST, но создавалась переменная _GET. Две формы работающие по пост на одной странице не допустимы?

(Отредактировано автором: 08 Ноября, 2011 - 22:35:36)

 
 Top
LIME
Отправлено: 08 Ноября, 2011 - 22:35:01
Post Id


Активный участник


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


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




noobik только учтите что тогда придется дописать и авторизацию иначе каждый кто наткнется на ваш скрипт сможет править ваш сайт
на самом деле заливать файлы по ftp удобнее
и править локально тоже удобнее
не заморачивайтесь
 
 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