Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
697
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Hallo und guten Morgen an alle,

    Ich hab ein Problem mit meinem script. Das script soll mit Uploadify für jQuery welches eine .swf nutzt binär Bilder in eine Datenbank schreiben. Ich habe das ganze offline auf nem XAMPP auf meinem Laptop vorprogrammiert funktioniert super. Jetzt habe ich das ganze bei strato auf einen webspace hochgeladen. Der ist in unserer Firma alle Anforderungen sind gegeben doch der Upload funktioniert nicht. Vielleicht weiter interessant ist dass das folgende Script per ajax ausgeführt wird und Uploadify nur eine Progressbar darstellt.

    fopen ist auf dem server aktiviert. Habe das ganze schon mit file() versucht in die db zu schreiben als binärcode. Hat auch funktioniert nur konnte ich das Bild dann nicht mehr auslesen. Vielleicht weiß jemand eine lösung.

    Hier noch der code der ausgeführt wird.
    Code :
    1
    2
    3
    4
    
    $fp      = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);

    Wie gesagt offline funktioniert das ganze wunderbar ohne änderungen.

    Mit freundlichen Grüßen

    1uck3r
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.669
    Gibts auch eine Fehlermeldung?
     
    ---------------------------------------------------------------------------------------------------
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Avatar von Marschal
    Marschal Marschal ist offline Großer Enumerator
    Registriert seit
    May 2008
    Ort
    Lohfelden (bei Kassel)
    Beiträge
    355
    Schon die schreib und lese Berechtigung auf dem Server überprüft?
    Ob das skript überhaupt auf die benötigten Datein zugreifen kann.
     


    " Gehirn: ein Organ, mit dem wir denken, daß wir denken. "
    Ambrose Bierce

  4. #4
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Nein es gibt keine fehlermeldung. Ja rechte habe ich überprüft habe auch mit phpinfo nachgesehen ob allow_url_fopen aktiviert ist war auch aktiviert eigendlich weiß ich nicht woran das liegen kann deshalb bin ich ja hier. Komischerweise funktionierte der eintrag mit file() aber das auslesen nicht gibts da ne besonderheit ?
     

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    fread() liest nur eine Zeile und nicht die ganze Datei.

    Ich glaube aber, dein generelles Problem ist das auslesen aus der DB(was bei file() nicht funktioniert).
    Hast du beachtet, dass file() einen Array liefert?

    Um eine ganze Datei in einen String zu lesen, verwende bspw. file_get_contents()

    Sollten dann weiterhin Probleme beim Auslesen aus der DB bestehen, beschreibe diese Probleme bitte etwas genauer.
    Kannst du die Daten generell nicht lesen odr kannst du sie lesen, das Resultat ist aber kein Bild?
     

  6. #6
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Also ich glaube nicht das es am auslesen liegt und ja ich weiß das file() nen array zurück gibt. Mit file_get_contents() funktioniert es garnicht. mit file() bekomme ich daten in die db. Hier mal der code zum auslesen.

    Code :
    1
    2
    3
    4
    5
    6
    
    $sql = new sql(); //Instanz der sql klasse
    $bild = $sql->query("SELECT * FROM bild WHERE id = '".$id."'"); //query aufruf um passendes Bild anhand der ID zu holen -> gibt Array zurück
    $sql->closeConnection(); //Verbindung schließen
        
    header("Content-type: image/jpeg"); //PHP Bild header setzen -> Ich erlaube nur jpeg´s
    echo $bild[0]->bild; //Bild ausgeben mit $bild[0] weil $bild ein array ist

    Wie würdet ihr das bild denn mit file() in die DB schreiben ? vllt mache ich da doch einen fehler

    Wie gesagt alles funktioniert offline auch das auslesen wie es soll nur aufm server nicht mehr!

    Mfg 1uck3r
     

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Speichere dir mal dieses Bild, welches du da anzeigen lassen willst(und welches keines ist), lokal ab und öffne es mit einem Editor.
    Das, was du dort siehst, poste hier bitte.
     

  8. #8
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    So hier das was bei dem SCHEINBILD rauskommt.

    194Byte

    Tatsächtliche Bildgröße ist 6,81kb

    Code :
    1
    
    ? JFIF ,,  ?  !"$"$?  " ?          
     

  9. #9
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Jo, dann würde ich mal sagen, das ist das, was fread() gelesen hat...die 1.Zeile
     

  10. #10
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Wie würdet ihr denn eine datei binär mit file() einlesen ?
     

  11. #11
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Garnicht, ich würde da wie gesagt file_get_contents() nehmen, oder readfile()

    Hier ein Tutorial zum Speichern von Grafiken in einer DB: http://www.phpriot.com/articles/images-in-mysql
     

  12. #12
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Danke für das nette tutorial aber das funktioniert auch nicht mit file_get_contents() ich werd hier noch kirre wa xD

    Hier mal mein code der den eintrag in der DB macht:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    $name = $_FILES['Filedata']['name'];
    $tmpName = $_FILES['Filedata']['tmp_name'];
    $type = "image/jpeg";
    $size = $_FILES['Filedata']['size'];
    $content = addslashes(file_get_contents($tmpName));
            
    $sql = new sql();       
    $sql->query("INSERT INTO bild (id, bild, name, size, type, logo, foreign_id) VALUES ('null', '".$content."','".$name."','".$size."','".$type."','".$logo."','".$id."')");
    $sql->closeConnection();

    So wenn ich versuche mit file() das komplette array mit implode zu einem string zusammen zufassen dann macht ers auch nicht mehr. Also hier:

    Code :
    1
    2
    3
    4
    5
    6
    
    $content = file($tmpName); //geht schreibt ein leeres array in die db
     
    $content = file($tmpName); //geht schreibt nur erste zeile
    $content = $content[0];
     
    $content = implode("", file($tmpName)); // geht nicht kein eintrag

    Bei file_get_contents auch kein eintrag und bei fopen auch kein eintrag was nu ?

    PS: Wie soll das mit readfile gehen ?

    Mfg 1uck3r
    Geändert von 1uck3r (10.03.10 um 13:11 Uhr)
     

  13. #13
    1uck3r 1uck3r ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Beiträge
    29
    Hallo ich bins wieder ich habe gestern nochmal alles mögliche getestet habe mein jetzigen Upload durch den SWFUpload ersetzt http://swfupload.org/. Auch hier wieder das gleiche offline funktioniert der eintrag in die datenbank mit blob daten online nicht so langsam habe ich den eindruck das es ein problem mit den rechten von flash ist oder sowas in der art. Auf jeden fall ist fopen auf dem server zugelassen oder muss ich noch etwas beachten wäre schön wenn hier jemand nochmal hilfe leisten könnte

    EDIT:
    Jetzt habe ich gerade etwas komisches herausgefunden. Und zwar habe ich jetzt mal eine test.php mit dem Upload aus dem Tutorial von Sven Mintel gemacht. Offline funktionierts Online nicht. Dann habe ich mir mal das $_FILES Array angesehen und etwas seltsames festgestellt. Der Upload funktioniert nur mit einer 0 am ende des tmpnames für den array_key null denn so sieht das $_FILES Array aus.

    Code :
    1
    
    Array ( [userfile] => Array ( [name] => Array ( [0] => freakovip.jpg ) [type] => Array ( [0] => image/jpeg ) [tmp_name] => Array ( [0] => /tmp/phpaoLIl8 ) [error] => Array ( [0] => 0 ) [size] => Array ( [0] => 6981 ) ) )

    Und Online kann ich mit dem Code die daten in die DB schreiben.
    Code :
    1
    2
    3
    4
    
    $fp      = fopen($_FILES['userfile']['tmp_name'][0], 'r');
    $content = fread($fp, filesize($_FILES['userfile']['tmp_name'][0]));
    $content = addslashes($content);
    fclose($fp);

    Kann mir das einer erklären ?

    PS: Der Code funktioniert aber nicht mehr mit Uploadify für jQuery und auch nicht mit dem SWFUpload ich werd bekloppt.

    Mfg 1uck3r
    Geändert von 1uck3r (11.03.10 um 09:19 Uhr)
     

  14. #14
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von 1uck3r Beitrag anzeigen
    Der Upload funktioniert nur mit einer 0 am ende des tmpnames für den array_key null denn so sieht das $_FILES Array aus.
    Steht am Ende des Namens des von dir verwendeten Upload-Feldes vielleicht folgendes Klammerpaar?
    Code :
    1
    
    <input type="file" name="Filedata[COLOR="Red"][SIZE="4"][B][][/B][/SIZE][/COLOR]">

    Was Flash anbelangt:
    Für den Upload, ist da irgendeine Berechtigung des Users vonnöten(Login etc.)
    Falls ja: Du musst die nötigen Daten, z.B. die Session-ID, per Flash mitgeben.
     

Ähnliche Themen

  1. fopen - Problem
    Von Sasser im Forum PHP
    Antworten: 17
    Letzter Beitrag: 15.10.09, 02:01
  2. fopen problem
    Von Marco-P im Forum PHP
    Antworten: 9
    Letzter Beitrag: 12.07.08, 04:58
  3. fopen Problem
    Von Acriss im Forum PHP
    Antworten: 4
    Letzter Beitrag: 18.08.07, 13:41
  4. c - fopen Problem
    Von BadPhantom im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 14.06.05, 15:10
  5. Problem mit fopen()
    Von maltor im Forum PHP
    Antworten: 7
    Letzter Beitrag: 08.12.04, 19:58