Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Одна функция вывода для всех.
 
 автор: Fikus   (02.11.2006 в 23:52)   письмо автору
 
 

Здравствуйте, только изучаю php и не могу разобраться. Мне нужно сделать следующее:


У меня в директории pic есть html файлы file1.html, file2.html и тд.
Надо, чтоб содержимое этих файлов выводилось на экран в форме для редактирования с последующим сохранением. (Хочу сделать редактор файлов)

Как сделать это для каждого файла я знаю, а как для них всех сделать одну функцию, нет.
А то если у меня в папке pic будет 480 файлов html то файл с моим кодом, наверное, будет весить метр.

Как я понимаю ход работы такой: открыть и прочитать директорию pic потом маску с расширением .html, нумерация и потом в echo напихать переменные с этой нумерацией. (Может и не так)

Помогите…

   
 
 автор: New   (03.11.2006 в 00:37)   письмо автору
 
   для: Fikus   (02.11.2006 в 23:52)
 


<?php

DEFINE 
("_DIR_""pic");

$Open_dir opendir (_DIR_);

       
$Key 0;
while (
$Read_dir readdir ($Open_dir)) {
       
$Dir_element[$Key] = $Read_dir;
       
$Key++;
}

$Down_file      = @$_GET['f'];
$Open_edir_file fopen (_DIR_."/".$Down_file"r+"            );
                  
fputs ($Open_edir_file, @$_POST['Derec']);

?>

<HTML>
 <HEAD>
  <BODY>
  
  <font face = "Verdana" size ="1">
  <?
  
for ($i 0$i count ($Dir_element); $i++) {
       print 
$Dir_element[$i]."\n<br>\n";
  }
  
?>
  </font>
  
  <form method = "POST">
<textarea rows = "15" cols = "25" name = "Derec">
<? @fpassthru ($Open_edir_file); ?>
</textarea>
<input type = "submit">
  </form>
  
  </BODY>
 </HEAD>
</HTML>

Думаю такой принцип, я проста не так понел наверное...

   
 
 автор: Fikus   (03.11.2006 в 01:44)   письмо автору
 
   для: New   (03.11.2006 в 00:37)
 

Щас попробую.

что-то пипо этого только тут чёто намутили много.


    while ($file = readdir($handle)) {
        if (preg_match("/^(.+)\.html/", $file, $matches)) {
            $permtest = end_chmod("templates/".$123."/".$file."", 666);
            if ($permtest) warning($permtest, "", "", 1);
            if ($matches[1] == "block-all") {
                $title = ""._TBLOCK."";
                $tinfo = ""._TINFO."";
            }
            if ($matches[1] == "block-center") {
                $title = ""._TBLOCK2."";
                $tinfo = ""._TINFO."";
            }
            if ($matches[1] == "block-down") {
                $title = ""._TBLOCK3."";
                $tinfo = ""._TINFO."";
            }
            if ($matches[1] == "block-left") {
                $title = ""._TBLOCK4."";
                $tinfo = ""._TINFO."";
            }
            if ($matches[1] == "block-right") {
                $title = ""._TBLOCK5."";
                $tinfo = ""._TINFO."";
            }
            if ($matches[1] == "index") {
                $title = ""._TINDEX."";
                $tinfo = ""._TINFO2."";
            }
            if ($matches[1] == "message-box") {
                $title = ""._TMESS."";
                $tinfo = ""._TINFO3."";
            }
            if ($matches[1] == "table-close") {
                $title = ""._TCLOSE."";
                $tinfo = "";
            }
            if ($matches[1] == "table-open") {
                $title = ""._TOPEN."";
                $tinfo = "";
            }
            if ($matches[1] == "theme-article") {
                $title = ""._TNARTICLE."";
                $tinfo = ""._TINFO4."";
            }
            if ($matches[1] == "theme-index") {
                $title = ""._TNINDEX."";
                $tinfo = ""._TINFO5."";
            }
            if ($matches[1] == "title") {
                $title = ""._TTITLE."";
                $tinfo = ""._TINFO6."";
            }
            if ($matches[1] == "warning") {
                $title = ""._TWARNING."";
                $tinfo = ""._TINFO7."";
            }
            $menuid = "tmenu".$i;
            $submenu = "tsub".$i;
            if ($display != 1) $display = "style=\"display:none;\"";
            $content .= "<script language=\"JavaScript\" type=\"text/javascript\" src=\"javascripts/SwitchMenu.js\"></script>"
            ."<table width=\"100%\" 
border=\"0\" cellspacing=\"0\" 
cellpadding=\"2\"><tr><td><table 
width=\"100%\" border=\"0\" 
cellspacing=\"0\" cellpadding=\"3\" 
class=\"bodyline\">"
            ."<form action=\"".
$admin_file.".php\" method=\"post\">"
            ."<div id=\"cont\"><tr 
id=\"".$menuid."\" onClick=\"SwitchMenu('".
$submenu."')\" style=\"cursor:pointer;
\"><th>".$title.": ".$file."</th></tr></
div></table>"
            ."<table width=\"100%\" 
border=\"0\" cellspacing=\"0\" 
cellpadding=\"3\" id=\"".$submenu."\" ".
$display." 
class=\"blockline\"><tr><td><textarea 
name=\"template\" cols=\"65\" rows=\"20\" 
style=\"width:800px\">".
file_get_contents("templates/".
$Default_Theme."/".$file."")."</textarea></
td></tr>"
            ."<tr><td>$tinfo</td></
tr>"
            ."<tr><td colspan=\"2\" 
align=\"center\"><input type=\"hidden\" 
name=\"op\" value=\"SaveTemplate\"><input 
type=\"hidden\" name=\"file\" value=\"".
$file."\"><input type=\"submit\" value=\"".
_SAVE."\"></td></tr></form>"
            ."</table></td></tr></table>";
            $i++;

   
 
 автор: Fikus   (03.11.2006 в 01:59)   письмо автору
 
   для: Fikus   (03.11.2006 в 01:44)
 

Каждый html файл открывается в своей форме.

Сделал так:

function Tmenu() {
    global $prefix, $db, $admin_file, $Default_Theme;

       include("header.php");
    GraphicAdmin();
    title("Редактирование Тем");
    OpenTable();
    echo "<table width=\"100%\" height=\"0%\" border=\"0\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"100%\" height=\"7%\" align=\"center\">[  <a href=".$admin_file.".php?op=block_center>Верхних центральные блоки: block-center.html</a>  ]</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">[  <a href=".$admin_file.".php?op=block_down>Нижних центральные блоки: block-down.html
    </a>]</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">[  <a href=".$admin_file.".php?op=block_all>Дополнительные блоки: block-all.html</a>  ]</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Основной шаблон системы: header.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Сообщения на главной странице: message-box.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Конец оформления модуля: table-close.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Начало оформления модуля: table-open.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Оформления новостей при подробном просмотре: theme-article.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Оформления модуля новостей: theme-index.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Заголовки модулей: title.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Вывод информации и ошибок: warning.html</td>
  </tr>
  <tr>
    <td height=\"7%\" align=\"center\">Левых блоки: block-left.html</td>
  </tr>
  <tr>
    <td height=\"16%\" align=\"center\">Правые блоки: block-right.html
</td>
  </tr>
</table>";
CloseTable();
    include("footer.php");
}



function block_all() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-all.html", "r");
    $content = fread($fp, 9999999);
    fclose($fp);
    echo "<br><center><font class=\"title\">Дополнительные блоки: block-all.html</font><br><br>";
    echo "<form action=\"$admin_file.php?op=Yesblock_all\" method=\"post\">
    <center><textarea name=\"textarea1\" rows=\"5\" cols=\"120\">$content</textarea><br><br>
    <input type=\"submit\" name=\"submitBN\"  value=\"Сохранить\"></center>
    </form><br><br>";        
    CloseTable();
    include("footer.php");
    }
function Yesblock_all() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    echo "<center><br>Содержимое<br><br></center>";
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-all.html", "w");
    fwrite($fp, $_POST[textarea1]);
    fclose($fp);
    echo "<br><center>Записано</font><br><br>";
    CloseTable();
    include("footer.php");
}

function block_down() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-down.html", "r");
    $content = fread($fp, 9999999);
    fclose($fp);
    echo "<br><center><font class=\"title\">Дополнительные блоки: block-down.html</font><br><br>";
    echo "<form action=\"$admin_file.php?op=Yesblock_center\" method=\"post\">
    <center><textarea name=\"textarea1\" rows=\"5\" cols=\"120\">$content</textarea><br><br>
    <input type=\"submit\" name=\"submitBN\"  value=\"Сохранить\"></center>
    </form><br><br>";        
    CloseTable();
    include("footer.php");
    }
function Yesblock_down() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    echo "<center><br>Содержимое<br><br></center>";
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-down.html", "w");
    fwrite($fp, $_POST[textarea1]);
    fclose($fp);
    echo "<br><center>Записано</font><br><br>";
    CloseTable();
    include("footer.php");
}
function block_center() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-center.html", "r");
    $content = fread($fp, 9999999);
    fclose($fp);
    echo "<br><center><font class=\"title\">Дополнительные блоки: block-all.html</font><br><br>";
    echo "<form action=\"$admin_file.php?op=Yesblock_center\" method=\"post\">
    <center><textarea name=\"textarea1\" rows=\"5\" cols=\"120\">$content</textarea><br><br>
    <input type=\"submit\" name=\"submitBN\"  value=\"Сохранить\"></center>
    </form><br><br>";        
    CloseTable();
    include("footer.php");
    }
function Yesblock_center() {
global $prefix, $db, $admin_file, $Default_Theme;
       include("header.php");
    GraphicAdmin();
    title("<a href=".$admin_file.".php?op=Tmenu>Редактирование Тем</a>");
    OpenTable();
    echo "<center><br>Содержимое<br><br></center>";
    @$fp = fopen( "themes/".$Default_Theme."/templates/block-center.html", "w");
    fwrite($fp, $_POST[textarea1]);
    fclose($fp);
    echo "<br><center>Записано</font><br><br>";
    CloseTable();
    include("footer.php");



Только это очень долго и примитивно для каждого файла своя функция. Мне надо чтоб в одной как на верхнем примере ну или как-то ещё.

   
 
 автор: New   (03.11.2006 в 15:25)   письмо автору
 
   для: Fikus   (03.11.2006 в 01:59)
 

Вам нужна чтоб только .html можна было редактировать?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования