Ankündigung

Einklappen
Keine Ankündigung bisher.

php Datei verschieben

Einklappen

Neue Werbung 2019

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

  • php Datei verschieben

    Hallo, Ich suche derzeit etwas um eine Datei in einem Ordner zu verschieben. mit rename hab ichs schon versucht das ging nicht
    mit Copy ebenfalls nicht
    copy("/srv/www/htdocs/".$Datei,"/srv/www/htdocs/Nachrichten".$Datei);

    mache ich hier etwas falsch?
    Liebe Grüße.

  • #2
    erstens versteh ich nicht ganz den Grund -

    2tens und daran liegt es wohl : hat dein www-user (als der User-Account, unter dem der Apache arbeitet) auch SCHREIBZUGRIFF auf dein Zielverzeichnis - und findet die Quelldatei ?

    bau mal error-reporting ein, dann solltest du Fehlermeldungen bekommen

    daneben legt COPY eine Kopie der Datei an, wenn du wirklich verschieben willst, dann müsstest du das Original noch "loswerden" (geht mit unlink(Dateiname) - aber am unlink würde ich nur arbeiten, wenn deine Kopie zweifelsfrei läuft.

    ansonsten wäre der Ablauf

    PHP-Code:
    copy(Quelle,Ziel);
    unlink(Quelle); 
    evtl wäre auch noch move möglich ....aber Kopieren und anschließendes Löschen wäre meiner Meinung nach zu bevorzugen
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

    Kommentar


    • #3
      Mein Formular wird halt ausgefüllt in ne Text-Datei geschrieben die liegt im Falschen Ordner also verschieb ich sie Nachdem sie fertig-gestellt wurde.
      Der Ordner hat Schreib sowie Leserechte daran kanns nicht liegen.
      error reporting wurde eingebaut.
      ich bekomm Keine Fehler.

      Kommentar


      • #4
        geändert:
        Code:
        if (!empty($_GET)) {
          if (!$ok)echo '<script type="text/javascript">alert("Bitte fuellen Sie alle Felder aus");</script>';
          else{ echo '<script type="text/javascript">alert("Ihre Mail wurde versendet");</script>';
            $Datei=$Datum.$Trennzeichen.$Uhrzeit.$Trennzeichen.$Nachname["Nachname"].$Trennzeichen.$values["Vorname"].$Trennzeichen."txt";
            $File = fopen($Datei, "w+");
            fwrite($File,$Email["Email"]."\n\r".$Betreff["Betreff"]."\n\r");
            fwrite($File,$Seriennummer."\n\r".$Macadresse."\n\r");
            fwrite($File,$Nachricht);
            fclose($File);}
            copy("/srv/www/htdocs/".$Datei,"/srv/www/htdocs/Nachrichten".$Datei);
            unlink("/srv/www/htdocs/".$Datei);
        }

        Kommentar


        • #5
          ich versteh immer noch nicht so ganz, warum du die Textdatei nicht gleich im richtigen Verzeichnis anlegst ... das erspart dir die Verschiebe-Aktion
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

          Kommentar


          • #6
            weil ich ne geordnete struktur haben will.
            wenn ich 15 skripte (übertrieben aber trotzdem) in Ordner hab und jeden Tag 50 Mails. dann kenn ich mich am Schluss nicht mehr aus deswegen der Ordner Nachrichten
            ich habs schon versucht davor mal in den richtigen Ordner zu schreiben hat aber nicht funktioniert.

            Kommentar


            • #7
              da haben wir wieder den Punkt - kontrollier nochmal die Rechte am Nachrichten Ordner - 0777 wäre zumindest in der Testphase angebracht

              und schau mal nach, ob der SAVE-Mode an ist - dann muss der Zielordner auch dem WWW-User gehören (chown - aber per Konsole / FTP )
              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

              Kommentar


              • #8
                drwxrwxrwx 2 root root 4,0K 23. Nov 08:23 Nachrichten

                das passt Hab mich jetz bissl schlau gemacht über copy unlink aber funktioniert nicht wie ich haben will.
                datei heisst nich mehr datum_uhrzeit_nachname_vorname.txt sondern Nachrichtdatum_uhrzeit_nachname_vorname.txt

                Kommentar


                • #9
                  dann bau doch mal den "/" Ordner-slash da rein in den Zielpfad ... das solltest selbst du doch sehen, dass Copy funktioniert - nur nicht mit dem Zielpfad - weil Copy nunmal Pfad\Nachrichtendatum als neuen Dateinamen sieht ....
                  "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                  Kommentar


                  • #10
                    save-mode an? Denn der Ordner gehört root... auch nicht so das wahre
                    Under Construktion

                    Kommentar


                    • #11
                      ah cool danke danke Eagle ich bin echt Blind:
                      Code:
                          $Datei=$Datum.$Trennzeichen.$Uhrzeit.$Trennzeichen.$Nachname["Nachname"].$Trennzeichen.$values["Vorname"].$Trennzeichen."txt";
                          $File = fopen($Datei, "w+");
                          fwrite($File,$Email["Email"]."\n\r".$Betreff["Betreff"]."\n\r");
                          fwrite($File,$Seriennummer."\n\r".$Macadresse."\n\r");
                          fwrite($File,$Nachricht);
                          fclose($File);
                          copy("/srv/www/htdocs/".$Datei,"/srv/www/htdocs/Nachrichten/".$Datei);
                          unlink("/srv/www/htdocs/".$Datei);
                      Natürlich / Vergessen vielen vielen Dank.

                      Kommentar


                      • #12
                        tja Hu5el - wenn die Datei wenigstens dort ankäme - aber ohne Ordnerslash am Ende des Pfades wird sie nur umbenannt im gleichen Pfad ^^
                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                        Kommentar


                        • #13
                          peinlich is mir das schon etwas :/ Aber liegt wohl daran das ich nur 2 Stunden geschlafn hab :/

                          Kommentar


                          • #14
                            Aber liegt wohl daran das ich nur 2 Stunden geschlafn hab :/
                            Verschon uns bitte mit Deinen Statusupdates und Ausreden. Programmier, wenn Du fit bist. Im Fehlerfall: Debugge, wenn Du fit bist. Und erst danach, stelle Deine Frage!
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar

                            Lädt...
                            X