Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload - Aber nicht von der lokalen Festplatte!

Einklappen

Neue Werbung 2019

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

  • Upload - Aber nicht von der lokalen Festplatte!

    Hallo,

    ich suche schon lange nach Hilfe für mein Problem:
    Ich möchte per URL ein Bild auf meinen Server laden.
    Hier mal mein bisheriger Code, der für den Upload per http verantwortlich ist (nicht selber gemacht!)

    Code:
    	  if (!preg_match('#^(https?|ftp)://#i', $name)) {
                //BAD URL
              echo "
    
    <p align=\"center\"> Bad URL... 1.</p>";
             }
    
             $filenum=fopen($file_u,"rb");
             if ($filenum == 0) {
               //BAD URL
               echo "
    
    <p align=\"center\"> Bad URL... 2.</p>";
             }
    
    
             //Binärdaten laden von Webseite
             $contents="";
             while (!feof($filenum)) {
               $contents.=fread($filenum,1024); //filesize($filename));
             }
             fclose($filenum);
    
            //Zielort
             $name = substr($name, strrpos($name, "/")+1);
             $sql_bild = mysql_query("SELECT dvdid FROM dvd WHERE bild LIKE '%".$name."%'");
             // Bild schon vorhanden?
    		 if (mysql_num_rows($sql_bild) > 0) 
             {
    		 echo "Bild schon vorhanden!";
    		 die;
    		 }
             //Speichern der geladenen Daten
             $filenum=fopen("images/".$name,"wb");
             fwrite($filenum,$contents);
             fclose($filenum);
    		 }
    		 }
    allerdings kommt folgende Meldung und das in dauerschleife:

    Warning: feof(): supplied argument is not a valid stream resource in /home/www/web744/html/eintragen.php4 on line 208

    Warning: fread(): supplied argument is not a valid stream resource in /home/www/web744/html/eintragen.php4 on line 209


    Was stimmt denn da nicht? Kann mir bitte bitte jemand helfen? Bräuchte es dringend!!!

    Schonmal vielen Dank!


  • #2
    Ich möchte per URL ein Bild auf meinen Server laden.
    Zum Thema Bildupload gibt es »tonnenweise« Infos schon hier im Forum.
    Warum nutzt du diese nicht ?

    Kommentar


    • #3
      Ich hab ne Stunde damit verbracht die ganzen Upload Topics zu durchforsten und bin leider nicht auf eine Lösung für MEIN Problem gestoßen.
      Es ging dort immer nur über Uploads von lokalen Festplatten, das bei mir einwandfrei funktioniert....
      Falls ich etwas übersehen haben sollte, bitte ich um Entschuldigung und einen Link.

      Kommentar


      • #4
        bastel vieleicht mal ein var_dump(fopen($urlzurdatei));
        rein udn schau ob die verbindung sauber aufgebaut wird.

        desweiteren wie schauts mit allow_url_fopen in deiner phpinfo aus ? aktiviert ?

        mfg
        robo47
        robo47.net - Blog, Codeschnipsel und mehr
        | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

        Kommentar


        • #5
          Zitat von robo47
          bastel vieleicht mal ein var_dump(fopen($urlzurdatei));
          rein udn schau ob die verbindung sauber aufgebaut wird.

          desweiteren wie schauts mit allow_url_fopen in deiner phpinfo aus ? aktiviert ?

          mfg
          robo47
          Danke für deine Antwort.
          allow_url_fopen ist aktiviert.

          bei var_dump(fopen($name)); kommt folgende Meldung

          Warning: fopen(): Unable to access 44459.jpg in /home/www/web744/html/eintragen.php4 on line 200

          Warning: fopen(44459.jpg): failed to open stream: No such file or directory in /home/www/web744/html/eintragen.php4 on line 200
          bool(false)


          hmmm....
          line 200 ist dieses var_dump...

          Kommentar


          • #6
            Zitat von InFlame
            was soll mir das jetzt sagen? Welche 2 parameter will er denn??
            Achtung, die Antwort könnte im Manual stehen, also nur nicht anschauen.
            http://www.php.net/manual/de/function.fopen.php

            Kommentar


            • #7
              Zitat von DiBo33
              Zitat von InFlame
              was soll mir das jetzt sagen? Welche 2 parameter will er denn??
              Achtung, die Antwort könnte im Manual stehen, also nur nicht anschauen.
              http://www.php.net/manual/de/function.fopen.php
              Wie du siehst, hab ich meinen Beitrag schon geändert. Habe meinen Fehler selber entdeckt...

              Kommentar


              • #8
                Zitat von InFlame
                [i]Warning: fopen(): Unable to access 44459.jpg in /home/www/web744/html/eintragen.php4 on line 200
                Du hast kein Zugriff auf /home/www/web744/html/44459.jpg
                Wie sehen die Rechte aus?

                Kommentar


                • #9
                  Zitat von DiBo33
                  Zitat von InFlame
                  [i]Warning: fopen(): Unable to access 44459.jpg in /home/www/web744/html/eintragen.php4 on line 200
                  Du hast kein Zugriff auf /home/www/web744/html/44459.jpg
                  Wie sehen die Rechte aus?
                  Das ist ja das komische. Das ist ja mein Server und die Datei existiert ja im prinzip nicht.
                  Wenn ich z. B. "http://www.ofdb.de/images/film/51/51165.jpg" als gewünschte Datei eintrage, kommt die selbe Meldung wie oben, nur eben mit einem anderen namen..... ich verstehs einfach nicht........

                  Kommentar


                  • #10
                    bei var_dump(fopen($name)); kommt folgende Meldung
                    Und was steht in $name?
                    lt. deiner Fehlerbeschreibung "44459.jpg", sollte da nicht etwas anderes stehen?

                    Kommentar


                    • #11
                      Zitat von DiBo33
                      Und was steht in $name?
                      lt. deiner Fehlerbeschreibung "44459.jpg", sollte da nicht etwas anderes stehen?
                      hmm.. du hast recht. echo $name ergibt "51165.jpg" (mit dem beispiel von oben).
                      $name wird hiermit definiert:

                      $name = $_FILES['file']['name'];

                      Formular sieht so aus:

                      Code:
                      <tr> 
                            <td width="13%"></td>
                            <td colspan="3">
                              <input type="radio" name="http" value="ja">
                              HTTP 
                              <input type="radio" name="http" value="nein" checked>
                              Local </td>
                          </tr>
                          <tr> 
                            <td width="13%">Cover</td>
                            <td colspan="3"> 
                              <input type="file" name="file" enctype="multipart/form-data">
                            </td>
                          </tr>
                          <tr>
                      Ich wähle aus, ob ich per http oder per local uploade. Je nachdem springt er im php code zu dem gebrauchten code (simple if abfrage)...

                      Kommentar


                      • #12
                        <input type="file" name="file" enctype="multipart/form-data">
                        Wow.

                        Am besten du erklärst mal den grundlegenden Aufbau der ganzen Geschichte.

                        Kommentar


                        • #13
                          Also:
                          Ich habe ein Formular in dem ich verschiedene Daten eingebe.
                          Unter anderem kann man dort am schluss eine Datei hochladen. Hierzu habe ich ein Feld

                          <input type="file" name="file" enctype="multipart/form-data">

                          Da ich aber sowohl übers Internet oder per localen Datenträger Dateien hochladen möchte, hab ich noch eine Variabel erzeugt, die dem phpscript sagt, was ich machen will

                          <input type="radio" name="http" value="ja">
                          HTTP
                          <input type="radio" name="http" value="nein" checked>
                          Local


                          Habe ich z.B. http ausgewählt kopiere ich einfach die URL in das "file" Feld und schicke es weg.

                          Wenn ich so überlege... habe ich das falsche Feld für die URL??
                          hmm........
                          wie müsste ich denn die URL an php schicken? per "text" input?

                          Kommentar


                          • #14
                            öhm hatten wir es hier nicht grade davon dateien die via http:// .. erreichbar sind auf den server zu laden ?
                            was hat das jettz wieder mit nem normalen client -> server upload zu tun ? hab ich was verpasst ?
                            robo47.net - Blog, Codeschnipsel und mehr
                            | Caching-Klassen und Opcode Caches in php | Robo47 Components - PHP Library extending Zend Framework

                            Kommentar


                            • #15
                              Zitat von robo47
                              öhm hatten wir es hier nicht grade davon dateien die via http:// .. erreichbar sind auf den server zu laden ?
                              was hat das jettz wieder mit nem normalen client -> server upload zu tun ? hab ich was verpasst ?
                              doch doch, hast schon richtig verstanden...

                              es gibt ja 2 möglichkeiten in meinem Formular. Einmal per client, oder per http. Habe aber für beide fälle das selbe input feld genommen. geht wohl nicht?

                              Kommentar

                              Lädt...
                              X