ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
697
697
EMPFEHLEN
-
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
-
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
-
10.03.10 10:36 #3
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
-
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 :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
-
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 :1
? JFIF ,, ? !"$"$? " ?
-
Jo, dann würde ich mal sagen, das ist das, was fread() gelesen hat...die 1.Zeile
-
Wie würdet ihr denn eine datei binär mit file() einlesen ?
-
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
-
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 1uck3rGeändert von 1uck3r (10.03.10 um 13:11 Uhr)
-
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 1uck3rGeändert von 1uck3r (11.03.10 um 09:19 Uhr)
-
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
-
fopen - Problem
Von Sasser im Forum PHPAntworten: 17Letzter Beitrag: 15.10.09, 02:01 -
fopen problem
Von Marco-P im Forum PHPAntworten: 9Letzter Beitrag: 12.07.08, 04:58 -
fopen Problem
Von Acriss im Forum PHPAntworten: 4Letzter Beitrag: 18.08.07, 13:41 -
c - fopen Problem
Von BadPhantom im Forum C/C++Antworten: 4Letzter Beitrag: 14.06.05, 15:10 -
Problem mit fopen()
Von maltor im Forum PHPAntworten: 7Letzter Beitrag: 08.12.04, 19:58





Zitieren


Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen