Kleines Scriptproblem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kleines Scriptproblem

    Hab ein älteres Script - nicht selbst geschrieben - und seit dem Aufspielen auf meinen Heimserver funktioniert es nicht mehr so wie's soll

    Es ist ein Online-Kalender, wo man für jeden Tag Texteinträge machen und diese dann auch wiederum edieren kann.

    Ich vermute ein ini-Problem (php.ini? httpd.conf?), die geänderten Werte werden einfach nicht in die Textdateien (ja, arbeitet mit Textdateien, nicht mit mysql) zurückgeschrieben.

    Hier ein Auszug aus dem Skript:

    PHP-Code:
    function update_entry ($yr$mn$day$txt)
    {
    $txt stripslashes ("$txt");
    $f_array = array();
    if (
    strlen ($mn) <2)
    {
    $mn "0".$mn;
    }
    if (
    strlen ($day) <2)
    {
    $day "0".$day;
    }
    $dtstr  $yr."-".$mn."-".$day;

    if ((!
    file_exists("caldata$yr$mn.inc"))|| (!filesize ("caldata$yr$mn.inc")))
    {
    if (!
    strlen (trim ($txt)))
    {
    return;
    }
    else
    {
    $fp fopen ("../kalender/caldata$yr$mn.inc""w");
    flock ($fp,1);
    $temp $dtstr." ".$txt;
    $temp str_replace("\r\n""<br>"trim ($temp));
    // bis hierher geht noch alles, Variablen haben die richtigen Werte, aber er schreibt dann nicht in die Datei retour...
    fputs($fp,$temp."\n");
    flock($fp,3);
    fclose($fp);
    clearstatcache();
    return;
    }
    }

    $f_array file ("../kalender/caldata$yr$mn.inc") or DebugDie (__FILE____LINE__"Failed to open file for reading caldata$yr$mn.inc");
    $found false;

    for (
    $j 0$jcount ($f_array); $j++)
    {
    $date_entry substr ($f_array[$j], 010);
    if (!
    strcmp $date_entry $dtstr))
    {
    $found true;
    $f_array[$j] = $date_entry." ".$txt;
    }
    }

    if (!
    $found)
    {
    array_push ($f_array$dtstr." ".$txt);
    }
    $fp fopen ("../kalender/caldata$yr$mn.inc""w+") or DebugDie (__FILE____LINE__"Failed to open file for writing");
    flock ($fp,1);
    for (
    $line 0$line count ($f_array); $line++)
    {
    if (
    strlen (trim ($f_array[$line])) >10)
    {
    $temp str_replace("\r\n""<br>"trim ($f_array[$line]));
    echo 
    "gefunden!";
    fputs ($fp ,$temp."\n");
    }
    }
    flock ($fp,3);
    fclose ($fp);
    clearstatcache();


    Jeder Tipp oder Hilfe ist willkommen!

  • #2
    in der php.ini muss register_globals auf On
    (Jetzt mal einfach auf Verdacht)
    hopka.net!

    Kommentar


    • #3
      register globals ist natürlich ON

      Kommentar


      • #4
        Wenn die Textdateien in einem Unterordner liegen: Hat dieser Ordner entsprechende Rechte (CHMOD 777)?

        Kommentar


        • #5
          Hab vergessen dazuzuschreiben, daß es kein Linux-Server ist, sondern unter Win2000.
          Und das Verzeichnis hat Schreibrechte, ja.

          Andere Scripts, die ebenfalls auf Textdateien basieren funktionieren und es werden sowohl neue Einträge geschrieben als auch bestehende Einträge ediert.

          Nur DIESES Skript (nicht von mir, vielleicht deshalb *g*) funzt nicht.

          Ich glaub ich schreibs neu

          Kommentar


          • #6
            Original geschrieben von Kettenraucher
            Ich glaub ich schreibs neu
            Gute Einstellung.

            Kommentar

            Lädt...
            X