copy() geht nicht

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

  • copy() geht nicht

    Hallo,

    ich hab' jetzt 'n komplettes Projekt auf einen Server geladen. Nur der Upload von Bilddateien geht nicht (mit Befehl copy()). Nach einem ganzen Nachmittag Gefummel und Telefonieren ist klar: es liegt am Server, ist ein NT-Server. Jetzt weiß ich nicht, ob die das bis nächsten Mittwoch (Praktikum zu Ende) noch auf die Reihe bringen. Das php wird abgearbeitet, bis
    if (file_exists("$abpath/$bild_name")) blabla...
    kommt, der copy()-Befehl selbst erzeugt keine Fehlermeldung. Liegt das an der php-ini oder an der Server-Konfiguration (Wird wohl keiner wissen)?
    Kann ich das copy() irgendwie umschiffen? Kann ich ein perl- oder asp-script einbinden? Wie?
    Kurzgeschichten zum Grübeln und Lachen zwischendurch.

  • #2
    hmm,

    hat das Script genügend Rechte zum lesen und schreiben ?

    Kommentar


    • #3
      ich glaube nicht dass es an nt liegt. ich mache sowas lokal unter XP. da hab ich nix besonderes eingestellt. es läuft. und das obwohl mein php total verfuscht zu sein scheint
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        Jawoll,

        chmod 777 - hab ich mit denen schon abgehakt. Im übrigen hat auf diesem Server (wie gesagt, NT) jede Datei und jeder Ordner sämtliche Rechte, ohne daß man dies ändern könnte. Gibt's das öfters?
        Kurzgeschichten zum Grübeln und Lachen zwischendurch.

        Kommentar


        • #5
          Noch was,

          ich hab ja alles schon durchgeprobt. Auch laufen ca. 30 andere Seiten script (auch mit absoluten Pfaden) problemlos, nur der upload nicht, der überall anderswo geht. Am Server kann ich nix machen, die haben mir geantwortet, daß sie mit ihrem Latein am Ende wären und auch andere Kunden haben hier ein Problem. Wie kann ich die ganze Sache anders lösen (ohne zwei Formulare).
          Kurzgeschichten zum Grübeln und Lachen zwischendurch.

          Kommentar


          • #6
            hmm,

            wie sieht es aus mit tmp Dir für uploads ?
            mach mal eine phpinfo.

            Kommentar


            • #7
              Hm,

              Warning: phpinfo() has been disabled for security reasons. in D:\ftp\opf\opf\phpinfo.php on line 3

              toll! Ist aber 'n guter Ansatz, hab' gleich 'n Mail an diesen Hoster geschickt.


              Kurzgeschichten zum Grübeln und Lachen zwischendurch.

              Kommentar


              • #8
                Sorry wegen meiner Kurzmails, könnte auch gleich mehr denken.
                Wenn bei "if(file_exists..." die Meldung "Warning: Unable to open 'none' for reading: No such file or directory in D:\ftp\opf\ordner\datei.php on line 47" kommt, meint php dann, daß keine Bilddatei im Ordner Bilder ist (da wo's hinsoll) oder evtl. daß in der php.ini "upload_tmp_dir = none" eingestellt ist?
                Kurzgeschichten zum Grübeln und Lachen zwischendurch.

                Kommentar


                • #9
                  Hm...
                  unable to open none heisst, dass Du dem open befehl nichts gegeben hast zum öffnen... check mal die variablen ab

                  Ausserdem:
                  ich bin net sicher aber hast Du einen absoluten pfad benutzt
                  das hier:

                  No such file or directory in D:\ftp\opf\ordner\datei.php

                  hört sich so an... Du arbeitest auf nem Server? dann nimm relative pfade... etc.
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    wenn es um Upload-Files geht, schau dir mal die Funktion move_uploaded_file() an -> http://www.php.net/manual/de/functio...oaded-file.php

                    im ersten Moment dachte ich, daß die Funktion nicht unter NT läuft, steht im Manual aber nix davon, also versuchs doch mal damit. Ist ja viel einfacher -> prüft ja selbst, ob Datei geuploaded wurde usw.

                    Kommentar


                    • #11
                      Ne, hat auch nix gebracht. Hab' jetzt eine Stunde im Nirwana rumgeloaded. Das Script läuft immer ohne jedes Problem durch - aber das Bild ist dann nicht im Ordner. Hab das ganze dann auf meine eigene homepage geladen und den absoluten Pfad geändert - kein Problem.

                      Ich hab' jetzt:
                      move_uploaded_file($bild_name, $abpath) or log...
                      bei
                      $abpath = "D:\\ftp\\opf\\ordner";

                      $bild geht nicht, weil die Variable von dem file-formfield nicht übergeben wird. Dafür geht dann $bild_name, obwohl es ja auch nur eine Erweiterung ist. Und jetzt kommts:

                      move_uploadet_file($scheisse, $jetztreichts) or ...

                      funktioniert genauso fehlerlos ohne das das Bild ankommt. Auf meinem Hosteurope verhält sich mein script, wie man es erwartet und das Geschimpfe oben ging nicht. Den NT-Server-Leuten hab' ich jetzt schon zwei Mails geschickt - keine Reaktion. Ich glaub' die wollen mich verarschen. Das kann doch nur am tmp-Pfad in der php.ini liegen! Ist hier kein NT-Spezialist? Ich hab' nämlich auch nirgends nix gefunden, daß so etwas auf einem NT nicht laufen täte.
                      Kurzgeschichten zum Grübeln und Lachen zwischendurch.

                      Kommentar


                      • #12
                        Mahlzeit,
                        also ich hab hier auch nen NT-Server, hab aber den copy-befehl bisschen anders. Bei mir geht das so:

                        copy($bild_upload,"./pic/".$bild_upload_name);

                        $bild_upload ist der Name des File-Input Feldes
                        "./pic/".$bild_upload_name ist dann die zieldatei im Zielverzeichnis "pic".

                        Das funzt hier local einwandfrei, aufm Linux-Server beim Provider ebenso.

                        adios
                        bohni

                        Kommentar


                        • #13
                          ACHTUNG

                          du darfst nicht einfach den Namen des Uploadfiles verändern, da es sich um ein tempöräres Files von PHP handelt, d.h. in der Variable $file1 (wenn dein Input-Feld im Form auch "file1" heisst) beinhaltet den Namen des temporären Files. Wenn da nix drin ist, dann darf PHP vielleicht nicht in das Temp-Verzeichnis schrieben oder der Pfad dorthin stimmt nicht oder es gibt es nicht.
                          Mehr fällt mir gerade nicht mehr ein...

                          Kommentar


                          • #14
                            Aufgeb!

                            @bohni: du benutzt halt einen relativen Pfad, geht wohl beides. Bitte vorraussetzen, daß ich alle Möglichkeiten nun ausgeschöpft habe.

                            Es muß an der Konfiguration des Servers liegen. Offensichtlich scheitert schon das html-Formular. Auf der Manual-Seite zu move_upload_file steht da unten ein Posting über die notwendigen Schritte - offensichtlich haben die Herren dort keine Lust oder ein überhöhtes Sicherheitsbedürfnis und lassen das einfach nicht zu. Reichlich dreist, mich dann mit "das Script ist falsch" und "vielleicht geht es nicht auf NT" vollzulabern und dann auf stur zu schalten, so daß ich stundenlang rumscripte und sogar Leute in Amerika mit meinem Problem belästige. "Ratiokontakt" heißen sie, vielleicht kennt die wer.

                            Lassen wir's, ich werd meinen Praktikumsbeitrag auf einen apache legen und entsprechend verlinken. "Das große regionale Portal" an dem ich gerade werkele, ist eh' überflüssig wie ein Kropf. Wenn ein einzelner Absahner meint, Praktikanten machen alles für ihn und er sahnt bloß ab, wird er ohnehin auf die Schnauze fallen. Dank für die Tipps jedenfalls.
                            Kurzgeschichten zum Grübeln und Lachen zwischendurch.

                            Kommentar


                            • #15
                              was mir da noch einfällt:
                              ich musste noch beim verzeichnis "uploadtemp" die schreibrechte setzen, also dem benutzernamen "IUSER_[computername]" vollzugriff erlauben.

                              sorry, wenn ich das überlesen haben sollte, ob du das schon ausprobiert hast, oder ob der admin das nicht will.

                              bye
                              bohni

                              Kommentar

                              Lädt...
                              X