Autor | Zpráva | ||
---|---|---|---|
pheek Profil * |
#1 · Zasláno: 2. 6. 2010, 10:49:50
Dobrý den, mám jednoduchý editor souboru napsaný v PHP:
cat /form.php <? echo ("Dočasné zakázání WWW stránky (v pracovní době). <br />"); ?> <form action="processscript.php" method="post"> <textarea rows="28" cols="140" name="content"> <? $fn = "/var/www/edit/restricted-sites.squid"; print htmlspecialchars(implode("",file($fn))); ?> </textarea><br> <input type="submit" value="Uložit"> cat /processscript.php <? $fn = "/var/www/edit/restricted-sites.squid"; $content = stripslashes($_POST['content']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); system ("/var/www/edit/restart_squid.sh"); echo "<meta http-equiv=\"refresh\" content=\"0; /edit/form.php\" />\n"; Pokud dám "uložit" tak mi soubor uloží a restartuje SQUID, potřeboval bych udělat to aby když dám "uložit" se po dobu restartu ukázala stránka s nějakým textem, třeba že se soubor ukládá a squid restartuje. Popřípadě výpis z konzole co se se squidem děje, jako je třeba toto: /etc/init.d/squid restart Restarting Squid HTTP proxy: squid Waiting.....................done. |
||
7.Host Profil * |
#2 · Zasláno: 2. 6. 2010, 10:57:05
<?php if($_POST["ulozit"]); { echo "počkejte prosím"; sleep(5); }else{ ?> cat /form.php <? echo ("Dočasné zakázání WWW stránky (v pracovní době). <br />"); ?> <form action="processscript.php" method="post"> <textarea rows="28" cols="140" name="content"> <? $fn = "/var/www/edit/restricted-sites.squid"; print htmlspecialchars(implode("",file($fn))); ?> </textarea><br> <input type="submit" name="ulozit" value="Uložit"> cat /processscript.php <? $fn = "/var/www/edit/restricted-sites.squid"; $content = stripslashes($_POST['content']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); system ("/var/www/edit/restart_squid.sh"); echo "<meta http-equiv=\"refresh\" content=\"0; /edit/form.php\" />\n"; } ?> Zkuste to takhle |
||
pheek Profil * |
#3 · Zasláno: 2. 6. 2010, 11:14:12
Vytvořil jsem tedy jede soubor ulozit.php
<?php if($_POST["ulozit"]); { echo "počkejte prosím"; sleep(5); }else{ ?> <? echo ("Dočasné zakázání WWW stránky (v pracovní době). <br />"); ?> <form action="processscript.php" method="post"> <textarea rows="28" cols="140" name="content"> <? $fn = "/var/www/edit/restricted-sites.squid"; print htmlspecialchars(implode("",file($fn))); ?> </textarea><br> <input type="submit" name="ulozit" value="Uložit"> <? $fn = "/var/www/edit/restricted-sites.squid"; $content = stripslashes($_POST['content']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); system ("/var/www/edit/restart_squid.sh"); echo "<meta http-equiv=\"refresh\" content=\"0; /edit/form.php\" />\n"; } ?> dostanu Parse error: syntax error, unexpected T_ELSE in /var/www/edit/ulozit.php on line 5 |
||
Mastodont Profil |
#4 · Zasláno: 2. 6. 2010, 11:15:24
V prvním řádku nemá být středník na konci
|
||
_es Profil |
#5 · Zasláno: 2. 6. 2010, 11:22:20
pheek:
Nebude v princípe oveľa jednoduchšie nasmerovať formulár na nejaký iframe alebo nové okno?
Treba len nastaviť atribút target značky form. |
||
pheek Profil * |
#6 · Zasláno: 2. 6. 2010, 11:24:23
Toho jsem si nevšiml, ale i tak to nechodí a navíc mi to obsah toho souboru nenávratně smaže, zrekapituluji:
vytvořil jsem jeden soubor který se jmenuje ulozit.php a do něj jsem vložil: <?php if($_POST["ulozit"]) { echo "počkejte prosím"; sleep(5); }else{ ?> <? echo ("Dočasné zakázání WWW stránky (v pracovní době). <br />"); ?> <form action="processscript.php" method="post"> <textarea rows="28" cols="140" name="content"> <? $fn = "/var/www/edit/restricted-sites.squid"; print htmlspecialchars(implode("",file($fn))); ?> </textarea><br> <input type="submit" name="ulozit" value="Uložit"> <? $fn = "/var/www/edit/restricted-sites.squid"; $content = stripslashes($_POST['content']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); system ("/var/www/edit/restart_squid.sh"); echo "<meta http-equiv=\"refresh\" content=\"0; /edit/form.php\" />\n"; } ?> Nemám to rozdělit a dát do více souboru? |
||
pheek Profil * |
#7 · Zasláno: 2. 6. 2010, 13:51:57
Našel jsem si že by se dalo vypsat co co se provádí na pozadí pomocí toho scriptu který restartuje SQUID, používá se na to flush, mohl by mi někdo poradit jak na to? Zkoušel jsem ale nedobral jsem se zdárného výsledku. Děkuji moc.
|
||
pheek Profil * |
#8 · Zasláno: 2. 6. 2010, 16:50:22
Takže už mi to chodí, upravil jsem
cat processscript.php <? $fn = "/var/www/edit/restricted-sites.squid"; $content = stripslashes($_POST['content']); $fp = fopen($fn,"w") or die ("Error opening file in write mode!"); fputs($fp,$content); fclose($fp) or die ("Error closing file!"); $pmt = array("-", "\\", "|", "/" ); for( $i = 0; $i <40; $i ++ ){ sleep(1); print "Ukládám a restartuji SQUID ".$pmt[$i % 4]."<br>\n"; ob_flush(); flush(); } system ("/var/www/edit/restart_squid.sh"); sleep(4); echo "<meta http-equiv=\"refresh\" content=\"0; /edit/form.php\" />\n"; cat form.php <? echo ("Dočasné zakázání WWW stránky (v pracovní době). <br />"); ?> <form action="processscript.php" method="post"> <textarea rows="28" cols="140" name="content"> <? $fn = "/var/www/edit/restricted-sites.squid"; print htmlspecialchars(implode("",file($fn))); ?> </textarea><br> <input type="submit" name="ulozit.php" value="Uložit"> </form> Teď to vytváří Ukládám a restartuji SQUID - Ukládám a restartuji SQUID \ Ukládám a restartuji SQUID | Ukládám a restartuji SQUID / Ukládám a restartuji SQUID - Ukládám a restartuji SQUID \ Ukládám a restartuji SQUID | Ukládám a restartuji SQUID / Ukládám a restartuji SQUID - Je možné aby to zapisoval do jednoho řádku tak aby text byl na stejném místě a jen se měnilo to pole? -\-/- aby se to točilo, jako že to pracuje. A mohlo by se to točit rychleji :) |
||
fuckin Profil |
#9 · Zasláno: 2. 6. 2010, 18:42:47
nebylo by lepsi tam dat nejaky animovany gif?
|
||
pheek Profil * |
#10 · Zasláno: 2. 6. 2010, 20:44:42
Jak donutit flush aby počkal až se restart provede?
|
||
Časová prodleva: 14 let
|
0