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 Редактор tpl, css и html файлов [2]

 PHP.SU

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


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

> Без описания
White
Отправлено: 19 Июня, 2011 - 20:30:41
Post Id



Частый посетитель


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


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




1. После открытия текстовым редактором? Пример файла пож.
2. В начале скрипта добавил короткий конфиг, чуть изменил структуру 2 блока, измените значение переменной $catalog на требуемое(в домашней директории сайта, а не локальной фс!)

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. /* Configuration block
  4.  * $workwith = ('site' || 'catalog');
  5.  * $catalog - catalog name in site's home directory
  6.  */
  7. $workwith = 'catalog';
  8. $catalog = '/editor/workwith';
  9.  
  10. //Saving file if POST array send
  11. if($_POST['filename']) {
  12.         $fp = fopen($_POST['filename'], 'w');
  13.         fwrite($fp, $_POST['fileentry']);
  14.         fclose($fp);
  15. }
  16. ?>
  17.  
  18. <style>
  19. p {
  20.         padding: 2px;
  21.         margin: 0px;
  22. }
  23.  
  24. a, a:active {
  25.         color: black;
  26.         text-decoration: none;
  27. }
  28.      
  29. a:hover {
  30.         text-decoration: underline;
  31. }
  32.      
  33. td {
  34.         vertical-align:top;
  35. }
  36. </style>
  37.      
  38. <table style='width:100%'>
  39. <tr>
  40. <td style='width:300px; border-right:2px solid silver;'>
  41. <?PHP
  42. //Generating file navigation block
  43. switch(strtolower($workwith)) {
  44.         case 'site':
  45.                 if($_GET['path']) $path=$_GET['path']; else $path=$_GET['path']=str_replace("\\",'/',getcwd());
  46.                 if(strlen($_SERVER['DOCUMENT_ROOT'])<strlen($path)) echo '<a href="editor.php?path='.substr($path, 0, strrpos($path, '/')).'">../</a>';
  47.         break;
  48.         case 'catalog':
  49.                 $path = $_SERVER['DOCUMENT_ROOT'].$catalog;
  50.         break;
  51.         default:
  52.                 die('CONFIGURATION ERROR');
  53. }
  54. foreach(glob($path.'/*') as $obj) {
  55.         $filename=substr($obj, strlen($path)+1, strlen($obj)-strlen($path));
  56.         if(is_dir($obj) and strtolower($workwith)=='site') echo '<p><a href="editor.php?path='.$obj.'">'.$filename.'/</a></p>'; else {
  57.         if($_GET['path']) echo '<p><a href="editor.php?path='.$_GET['path'].'&file='.$obj.'">'.$filename.'</a></p>';
  58.         else echo '<p><a href="?file='.$obj.'"></a></p>';
  59.         }
  60. }
  61. ?>
  62.  
  63. </td>
  64. <td style="padding-left:5px;">
  65.  
  66. <?PHP
  67. //Generating file editor block
  68. if($_GET['path']) echo '<form action="editor.php?path='.$_GET['path'].'&file='.$_GET['file'].'" method=post>';
  69. else echo '<form action="editor.php" method=post>';
  70.    
  71. if($_GET['file']) {
  72.         $filename=$_GET['file'];
  73.         echo '<p>Current file: <b>'.$filename.'</b></p>';
  74.         echo '<input type=hidden name=filename value="'.$filename.'">';
  75. } else echo 'No file loaded';
  76. echo '<textarea rows=40; style="width:100%;" name=fileentry>';
  77. if($_GET['file']) {
  78.         $filerows=file($filename);
  79.         foreach($filerows as $value) {
  80.                 echo htmlspecialchars($value);
  81.         }
  82. }
  83. echo '</textarea>';
  84. echo '<input type=submit value="save" style="margin-top:10px;">';
  85. ?>
  86.  
  87. </form>
  88. </td>
  89. </tr>
  90. </table>
  91.  


-----
if(time()>1356048000) die();
 
 Top
ksk.wolk
Отправлено: 20 Июня, 2011 - 13:45:12
Post Id



Новичок


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


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




Теперь просто : "
CONFIGURATION ERROR'
 
 Top
White
Отправлено: 20 Июня, 2011 - 17:01:15
Post Id



Частый посетитель


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


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




специально для вас в начале кода в комментариях маленький api, ваша ошибка говорит о том, что вы изменили значение переменной $workwith, для того чтобы отображать файлы только одного каталога $workwith='catalog'; $catalog="каталог с которым вы хотите работать" (например $catalog='/tpl')


-----
if(time()>1356048000) die();
 
 Top
ksk.wolk
Отправлено: 20 Июня, 2011 - 21:39:56
Post Id



Новичок


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


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




Огромное спасибо за сценарий. Но главной ошибка о которой я говорил, осталась:

Код до правки в редакторе:

CODE (htmlphp):
скопировать код в буфер обмена
  1.        
  2.         <br/></section><hr>
  3.        
  4.         <!-- Копирайт -->
  5.         <footer class="container_12 clearfix">
  6.         <div class="grid_12">
  7.                 Сopyright &copy; <a href="index.php"><?=$wqs_copy?></a> 2011 |
  8.     </div>
  9.     </footer>
  10.     </section>
  11.         </section>
  12.         </div>
  13.         </body>
  14.         </html>


Код после правки в редакторе:

CODE (htmlphp):
скопировать код в буфер обмена
  1.        
  2.                
  3.         <br/></section><hr>
  4.        
  5.         <!-- Копирайт -->
  6.         <footer class=\\\"container_12 clearfix\\\">
  7.         <div class=\\\"grid_12\\\">
  8.                 Сopyright &copy; <a href=\\\"index.php\\\"><?=$wqs_copy?></a> 2011 |
  9.     </div>
  10.     </footer>
  11.     </section>
  12.         </section>
  13.         </div>
  14.         </body>
  15.         </html>
 
 Top
White
Отправлено: 20 Июня, 2011 - 22:08:09
Post Id



Частый посетитель


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


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




У меня нормально работает Ниндзя будем искать


-----
if(time()>1356048000) die();
 
 Top
ksk.wolk
Отправлено: 23 Июня, 2011 - 13:29:15
Post Id



Новичок


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


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




Буду премного благодарен
 
 Top
siberian
Отправлено: 30 Июня, 2011 - 12:37:43
Post Id



Новичок


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


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




ksk.wolk если я правильно понял, то происходит двойное экранирование

попробуйте заменить кусок
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. //Saving file if POST array send
  4. if($_POST['filename']) {
  5.         $fp = fopen($_POST['filename'], 'w');
  6.         fwrite($fp, (get_magic_quotes_gpc == '1') ? stripslashes($_POST['fileentry']) : $_POST['fileentry']);
  7.         fclose($fp);
  8. }
  9.  

(Отредактировано автором: 30 Июня, 2011 - 15:01:22)

 
 Top
komprenda
Отправлено: 30 Июня, 2011 - 14:46:06
Post Id


Гость


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


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




ksk.wolk пишет:
Два нюанса:

1. Скрипт после редактирования приписывает лишний текст, а именно "\" и "/".
2. Хотелось бы закрепить область редактирования только в определенном каталоге, а не по всему сайту.


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //Saving file if POST array send
  3. if($_POST['filename']) {
  4.         $fp = fopen($_POST['filename'], 'w');
  5.         fwrite($fp, $_POST['fileentry']);
  6.         fclose($fp);
  7. }
  8. ?>
  9.  
  10. Заменить на
  11.  
  12. <?PHP
  13. //Saving file if POST array send
  14. if($_POST['filename']) {
  15.         $data = $_POST['fileentry'];
  16.         $data = get_magic_quotes_gpc() ? stripslashes($data) : $data;
  17.         $fp = fopen($_POST['filename'], 'w');
  18.         fwrite($fp, $data);
  19.         fclose($fp);
  20. }
  21. ?>
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB