php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-10-2006, 10:37
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard blob aus SQL DB - Problem mit fread()

Hallo,

ich habe ein Dateiupload der sieht folgendermaßen aus:

PHP-Code:
if(isset($_GET['submit']))
{
$dbconnect =mysql_connect ("localhost","root","Nadine0310");
$select_db=mysql_select_db ("mp3",$dbconnect);
$pfad_zur_datei $_FILES['datei']['tmp_name'];
$bild=addslashes(fread(fopen($pfad_zur_datei"r"), filesize $pfad_zur_datei)));
      
mysql_unbuffered_query("UPDATE `mp3s` 
                                          SET cover = '"
.$bild."', 
                                          filetyp = '"
.$_FILES['img']['type']."' 
                                          WHERE id = '$id'"
);
  } 
unterdrunter steht dann folgender Script:

PHP-Code:
 <form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<?
echo "<input type='hidden' name='id' value='$id'><br>";
echo 
"<input type='file' size ='1' name='datei'><br>";
echo 
"<input type='submit' name='submit' class='Button' value='upload'><br>"
echo 
"</form>";

Ich bekomme immer wenn ich mir eine Datei ausgesucht habe (ist ein jpg mit 16KB größe) und auf upload geklickt habe folgend eMeldung:

Warning: fread(): supplied argument is not a valid stream resource in C:\Programme\XAMPP\xampp\phpMyAdmin\pages\mp3\datenbank.php on line 222

in der Zeile steht folgender Code
PHP-Code:
$bild=addslashes(fread(fopen($pfad_zur_datei"r"), filesize $pfad_zur_datei))); 
Kann mir irgendwer sagen was ich hier falsch mache??? Ich komme nicht weiter wenn ich das alles in eine extra Datei packe dann funktioniert es, aber nicht in meinem ganzen Script.

HILFE!!!

Danke und Gruß

Geändert von Jache84 (10-10-2006 um 11:06 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 10-10-2006, 10:48
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielleicht schreibst du als erstes mal die funktionen zeile für zeile untereinander, anstatt alles in eine zeile zu klatschen.

dann solltest du dir fopen() nochmal anschauen. wenn du binärdaten lesen willst, macht es sinn, die auch entsprechend zu öffnen.
__________________
Kissolino.com
Mit Zitat antworten
  #3 (permalink)  
Alt 10-10-2006, 10:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: blob aus SQL DB - Problem mit fread()

Zitat:
Original geschrieben von Jache84
$bild=addslashes(fread(fopen($pfad_zur_datei, "r"), filesize $pfad_zur_datei)));
Was enthält eigentlich diese Konstante namens filesize ...?

Und warum hast du den danach folgenden nächsten Parameter $pfad_zur_datei nicht durch ein Komma von dieser abgetrennt, sondern ein Leerzeichen dazwischen stehen?


Eigentlich müsste das einen dicken parse error geben.


Und bevor du antwortest, liest du bitte die Regeln, und brichst deinen Code um!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 10-10-2006, 11:04
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm, was meinst du mit die funktion untereinander schreiben, was ist nicht ordnetlich geschrieben?

bei der funktion fopen() habe ich eben noch mal im Inet geschaut da steht es überall genauso wie ich es geschrieben habe. Oder muss ich auf etwas bestimmtes aufpassen?

Danke und Gruß

Geändert von Jache84 (10-10-2006 um 11:09 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 10-10-2006, 11:08
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ähm, ja irgendwie ging da das Strg+C und Strg+V ind ie Hose also nochmal mein Code sieht folgender maßen aus:

PHP-Code:
$dbconnect =mysql_connect ("localhost","root","Nadine0310");
$select_db=mysql_select_db ("mp3",$dbconnect);
$pfad_zur_datei $_FILES['datei']['tmp_name'];
$open fopen($pfad_zur_datei"r");
$filesize filesize($pfad_zur_datei);
$fread fread($open$filesize);
$bild=addslashes($fread);
mysql_unbuffered_query("UPDATE `mp3s` 
                                          SET cover = '"
.$bild."', 
                                          filetyp = '"
.$_FILES['img']['type']."' 
                                          WHERE id = '$id'"
); 

Geändert von Jache84 (10-10-2006 um 11:14 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 10-10-2006, 11:22
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Warum manchst du keinerlei Fehlerbehandlung? (z.B. keinerlei Check des Rückgabewertes von fopen)

error_reporting ist doch hoffentlich auf E_ALL gestellt?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 10-10-2006, 11:34
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaube ich bin ein schritt weiter, denn genau da swas du eben gesagt hast habe ich mal getan.

$_FILES ist ja eine Superglobale für POST werte.

Ich verwende aber nur GET überall. Kann es damit zusammen hängen?

Wie heißt das gegenteil von $_FILES also das für GET???

Danke und Gruß
Mit Zitat antworten
  #8 (permalink)  
Alt 10-10-2006, 11:38
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ups also jetzt error reporting ist angestellt.

Ich bekomme diese Meldungen. Sagen mir aber irgendwie nichts.

Notice: Undefined index: C:\Programme\XAMPP\xampp\phpMyAdmin\pages\mp3\cover.jpg in
C:\Programme\XAMPP\xampp\phpMyAdmin\pages\mp3\datenbank.php on
line 223

Warning: fread(): supplied argument is not a valid stream resource in
C:\Programme\XAMPP\xampp\phpMyAdmin\pages\mp3\datenbank.php on
line 228

Notice: Undefined index: in
C:\Programme\XAMPP\xampp\phpMyAdmin\pages\mp3\datenbank.php on
line 231
Mit Zitat antworten
  #9 (permalink)  
Alt 10-10-2006, 14:39
Lennie
 PHP Senior
Links : Onlinestatus : Lennie ist offline
Registriert seit: May 2006
Beiträge: 1.013
Lennie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die function fread() ist noch nicht in deinen script. und die zeilen mit den undefined index müsstest du mal bezeichnen, damit wir wissen welche zeilen damitgemeit sind.
Mit Zitat antworten
  #10 (permalink)  
Alt 10-10-2006, 16:06
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay habe es jetzt soweit alles hinbekommen. Allerdings zeigt er mir nur das Bild an wenn dieses in keinem <tr> oder <td> oder sonst was steht. Wie geht es das ich es mir anzeigen kann in einem <td>. Denn momentan bekomme ich in einem <td> nur irgendwelche zigtausend zeichen. sobald ich das <td> weg mache und das <tr> auch und so dann sehe ich das bild.
Mit Zitat antworten
  #11 (permalink)  
Alt 10-10-2006, 16:14
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Lennie
die function fread() ist noch nicht in deinen script.
fread ist eine php-Funktion fread

Zitat:
Original geschrieben von Jache84
Okay habe es jetzt soweit alles hinbekommen. Allerdings zeigt er mir nur das Bild an wenn dieses in keinem <tr> oder <td> oder sonst was steht. Wie geht es das ich es mir anzeigen kann in einem <td>. Denn momentan bekomme ich in einem <td> nur irgendwelche zigtausend zeichen. sobald ich das <td> weg mache und das <tr> auch und so dann sehe ich das bild.
Bitte? Meinst du damit, dass du versuchst Binäre-Bild-Daten in ein HTML-Dokument zu schreiben?
Klar, dass das nicht geht...
Mit Zitat antworten
  #12 (permalink)  
Alt 10-10-2006, 16:23
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja habe doch oben drüber geschrieben das es jetzt geht.

Habe es so gemacht das ich folgendes aufrufe:

PHP-Code:
echo "<img src= 'getimage.php'></img>"

in dem Script getimage.php steht folgendes ist recht kurz:

PHP-Code:
<?
$dbconnect 
=mysql_connect ("localhost","root","");
$select_db=mysql_select_db ("mp3",$dbconnect);

$id=$_GET['id'];
 
$sql8 "SELECT * FROM `mp3s` WHERE `id` = '$id'";
 
$result8 mysql_query($sql8) or die ("Fehler in SQL : $sql");
 while (
$line8 mysql_fetch_array($result8MYSQL_ASSOC))
 {
   echo 
$line8['cover'];
 }

so das klappt jetzta uch sowiet. Allerdings sehr ihr ja das in der datei getimagesize.php eine Variable id verlangt wird. Wie kriege ich es denn hin das ich mir in dem aufrufe echo "<img src= 'getimage.php'></img>"; die mit übergeben kann.

mit einem ? hintendran und die Variable übergebn klappt nicht, dann bekomme ich einfach ein leeres image also so eins mit dem kleinen roten X links oben in der Ecke.

Welche Möglichkeit habe ich noch?

Danke und Ganz Lieben Gruß an alle Helfer bis hier hin.
Mit Zitat antworten
  #13 (permalink)  
Alt 10-10-2006, 16:35
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Jache84
mit einem ? hintendran und die Variable übergebn klappt nicht, dann bekomme ich einfach ein leeres image also so eins mit dem kleinen roten X links oben in der Ecke.
Das ist aber der richtige Weg und "geht nicht" ist keine Fehlerbeschreibung

Zitat:
Welche Möglichkeit habe ich noch?
Sessions. Aber wenn GET schon nicht geht, dann geht Session wohl erst recht nicht klar...
Mit Zitat antworten
  #14 (permalink)  
Alt 10-10-2006, 18:00
Jache84
 Junior Member
Links : Onlinestatus : Jache84 ist offline
Registriert seit: Sep 2006
Beiträge: 155
Jache84 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke ich habs. Jetzt geht alles bei diesem Kapitel


Hatte diese zeile so geschrieben gehabt.
PHP-Code:
echo "<img src= 'getimage.php?id='".$id.'"'></img>"; 
Richtig ist aber die beiden Hochkommatar bei dem $id weg zulassen.

richtig
PHP-Code:
echo "<img src= 'getimage.php?id=".$id."'></img>"
Danke nochmal allen.

Liebe Grüße
Jochen
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27 Uhr.