Problem mit fopen

1uck3r

Mitglied
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:
$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
 
Schon die schreib und lese Berechtigung auf dem Server überprüft?
Ob das skript überhaupt auf die benötigten Datein zugreifen kann.
 
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 ?
 
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?
 
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:
$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
 
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.
 
So hier das was bei dem SCHEINBILD rauskommt.

194Byte

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

Code:
? JFIF ,,  ? 	!"$"$?  " ?          
 
Zurück