kostenloser Webspace werbefrei: lima-city


Berechtigungen + zeilenumbruch [php]

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c****4

    Hi limaianer!
    ich hab mal wieder ein problem...
    und zwar diesmal geht bei mir um ein script welches den quelltext einer datei ausliest und den syntax "highlightet" (Syntax highlightning)...

    Das script sieht folgerndermaßen aus:
    <?php
    
    if (isset($_COOKIE['login'])) {
    
    echo "
     <form action='index.php?site=scripts/highlight' method='POST'>
      <input type='text' name='file' />
      <input type='submit' name='send' value='OK' />
     </form>
    ";
       $script = $_POST['file'];
       if(!$script) {
           echo "<BR><http://www.lima-city.de/boards.php?mode=newthread&boardid=7
    ~ lima-city - webspace & community ~B>Fehler: Skript-Name nötig</B><BR>";
       } else {
           if (ereg("(\.php|\.inc)$",$script)) {
               echo "Source von: $script<hr />";
               highlight_file($script);
           } else {
               echo "ERROR: Nur PHP oder Include-Skripte sind erlaubt";
           }
       }
       echo "<HR>Erzeugt: ".date("Y/M/d H:i:s",time());
    } else{echo "kein zutritt";}
    ?>


    die idee zu diesem script fand ich hier:
    http://www.php.net/manual/de/function.highlight-file.php
    ich habs bloß bissel verändert und zwar so das man in dem text feld eine datei eintraegt welche dann gezeigt wird...

    Mein erstes Problem habe ich mit der Berechtigung des Scripts... Und zwar sind nicht nur datein aus dem selben ordner erlaubt sondern auch aus anderen <- wasich natürlich nicht möchte...

    Mein zweites Problem sind Zeilenumbrueche. Mein Layout ist 715px breit...
    wenn jetzt solch eine zeile in einem scrpt steht:
    echo '<input type=\'radio\' name=\'textsize\' value=\''.$arrTextsize[$x].'\' '.($arrTextsize[$x] == $_POST['textsize'] ? 'checked=\'checked\'' : '').' />'.$arrTextsize[$x].'<br />';

    dann setz das script nicht automatisch die zeilen sondern schreibt die zeile einfach weiter, da ich natürlich mit divs und nicht tabellen arbeite schreibt das script einfach über den rand hinaus... wie kann ich soetwas verhindern???

    danke schon im vorraus!
    Matze
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    Mein erstes Problem habe ich mit der Berechtigung des Scripts... Und zwar sind nicht nur datein aus dem selben ordner erlaubt sondern auch aus anderen <- wasich natürlich nicht möchte...


    Der Pfad zu einem Script in einem anderen Ordner muss mindestens einen / enthalten. Deshalb könntest du das z.B. so umgehen:

    if (!ereg('/',$_POST['file']) $script = $_POST['file'];

    oder zu liest dein Verzeichnis aus und prüfst das dann so:

    $handle = opendir('.');
    $arrDateien = array();
    while ($file = readdir($handle)) {
    $arrDateien[] = $file;
    }
    if (in_array($_POST['file'],$arrDateien)) $script = $_POST['file'];
  4. Das zweite Problem kannst du einfach über css lösen. Als Attribut gibt es u.a. für div's overflow:auto
    Als Code dann also so
    <div style="overflow:auto;">bla</div>

    Oder eben im css-File unter die Klasse des entsprechenden div's schreiben.

    Beitrag geaendert: 3.2.2007 15:44:18 von tct
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!