Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Probs mit in Datei schreiben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Probs mit in Datei schreiben

    Folgtende fehler meldung beim versuch in eine datei zu schreiben:

    Warning: Unknown(/usr/local/apache/1.3.28/htdocs/vt/dateischreib.php): failed to open stream: Permission denied in Unknown on line 0

    Warning: (null)(): Failed opening '/usr/local/apache/1.3.28/htdocs/vt/dateischreib.php' for inclusion (include_path='.:/usr/local/lib/php') in Unknown on line 0


    Was stimmt nicht?


  • #2
    Zeig mal deinen Code her.

    sonst müßen wir immer raten.
    Gruß JEGO

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

    Kommentar


    • #3
      <?php
      include("db_conn.php");
      $befehl1="select last_id from sig_const where fest_id='1';";
      $hol=pg_query($befehl1);
      $mehr=pg_fetch_array($hol);
      $id=$mehr[last_id];
      $letzterauftrag="select * from test where id='".$id."';";
      $preformat=pg_query($letzterauftrag);
      $ihrauftrag=pg_fetch_array($preformat);

      $sigdata="auswertung.txt";

      if (!file_exists($sigdata)) {
      if ($zeig=fopen($sigdata,"w+")){
      flock($zeig,LOCK_EX);
      fwrite($zeig,$ihrauftrag[periode]);
      fwrite($zeig,$ihrauftrag[werbung_m3b]);
      $fclose($zeig);}
      }
      else echo'Datei konnte nicht erzeugt werden, da bereits vorhanden';
      ?>

      Kommentar


      • #4
        Zitat von bossmaniac
        <?php
        include("db_conn.php");
        $befehl1="select last_id from sig_const where fest_id='1';";
        $hol=pg_query($befehl1);
        $mehr=pg_fetch_array($hol);
        $id=$mehr[last_id];
        $letzterauftrag="select * from test where id='".$id."';";
        allso da sind schon 2 fehler drin.

        das ; hinter '1' muß raus und das selbe hinter $id."'

        ausserdem würde ich sagen das das so geschrieben gehört:

        "select * from test where id='$id'";
        Gruß JEGO

        Ein PHP Script tut, was Du schreibst, nicht was Du willst.

        Kommentar


        • #5
          Semikolon gekillt, fehler leider immernoch unverändert da

          Kommentar


          • #6
            Im ganzen sieht die Abfrage ziehmlich eigenartig aus.

            probier es mal so:

            Code:
            $befehl1 = "SELECT last_id FROM sig_const Where fest_id='1'"; 
              $hol = mysql_query($befehl1);
            $mehr=mysql_fetch_array($hol);
            Gruß JEGO

            Ein PHP Script tut, was Du schreibst, nicht was Du willst.

            Kommentar


            • #7
              Die Abfrage hat bisher bei anderen Dateien gut funktioniert, der grund warum sie komisch aussieht ist, das nicht MYSQL als Dateinbank dient, sondern PostgreSQL. Deswegen auch die PG_ sachen vor den Befehlen.

              Kommentar


              • #8
                @JEGO
                Es gibt eben nicht nur die MySQL-Datenbank, sondern z.B. auch PostgresSQL, und dfür benötigt man eben die entsprechenden Befehle. Und Semikolons nach SQL-Statments sind in keinem DB-System ein Fehler, auch wenn sie aus PHP nicht unbedingt nötig sind.

                Aber der Fehler liegt ja offensichtlich auch nicht im Datenbankteil, sondern hat mit dem Schreiben der Textdatei zu tun. Das "$" vor fclose() ist sicher ein Fehler, aber das ist auch nicht die Ursache des Problems. Ich habe den Textfile-Teil einmal kopiert bei mir angepasst, auch um ihn überhaupt lesbar zu machen (es ist ürigens nicht verboten, Code-Tags zu benutzen). Und er läuft problemlos. Ich denke (auch die Meldung weist darauf hin), dass es Probleme mit der Berechtigung gibt.
                Gruss
                L

                Kommentar


                • #9
                  Aha, allso daher für mein Auge ungewöhnlich.

                  Bei denn anderen abfragen hast du es genau so gemacht?
                  und es hat funtioniert?

                  normal beendest du mit ; die Abfrage. und dann fehlt ja das " am ende.
                  Gruß JEGO

                  Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                  Kommentar


                  • #10
                    Ja, ich habs sogar einfach rauskopiert, damit ich mich nicht vertippe.
                    Das " ist für PHP als zeichen, hier ist der Befehlsstring den du an die Dateinbank schicken sollst zuende. Das erste ; ist für die Datenbank und das 2. ; für PHP. Hat bis jetzt immer gefuntzt.

                    Kommentar


                    • #11
                      man lehrnt nie aus.

                      Dann wird es wohl so sein wie lazydog es sagt.
                      das vieleicht ein rechte prob da ist.
                      Gruß JEGO

                      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                      Kommentar


                      • #12
                        Hat denn jemand ne Idee was an den rechten denn geändert werdenn müste oder vielmher, welche eingestellt seien müssen. Über den Server weiss ich nur soviel, das er mit linux läuft.

                        Kommentar


                        • #13
                          Dazu musst du zuerst wissen, unter welchem Namen du auf dem Server angemeldet bist. Das findest du folgendermassen (getestet unter Solaris, sollte aber auf Linux auch gehen):
                          Code:
                          echo nl2br(shell_exec('id'));
                          Das liefert dir deine Id und Gruppe, z.B.
                          uid=60001(nobody) gid=60001(nobody)
                          dann findest du mit
                          Code:
                          uid=60001(nobody) gid=60001(nobody)
                          die Berechtigungen des aktuellen Verzeichnisses (du kannst natürlich auch file_perms() verwenden), z.B.
                          drwxr-xr-x 2 f500090 other 512 May 28 14:24 .
                          drwxr-xr-xbezeichent die Berechtigungen, diese hier entsprechen der Einstellung 755. f500090 ist der Besitzer der Datei und other die entsprechende Gruppe. Da in diesem Beispiel der User weder dem Besitzer, noch der Gruppe der Datei entspricht, hat er auch keine Schreibberechtigung. Um das zu erlangen, müssten die letzten drei Strellen der Berechtigung "rwx" lauten.
                          Gruss
                          L

                          Kommentar


                          • #14
                            Hmm, ich hab den link zum Thread einfach mal meinem "Admin" geschickt. Soll er mal die von der empfohlenden änderungen vornehmen.

                            Kommentar


                            • #15
                              tjia, er sagt, ich hab schon 777 rechte

                              Kommentar

                              Lädt...
                              X