php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.02.2006, 22:06  
Neuer Benutzer
 
Registriert seit: 28.02.2006
Beiträge: 24
zeiss69
Standard upload und download von bildern mit php in die mysql db

hallo!

ich möchte gerne bilder mit hilfe von php in eine sql db ein- und auslesen.

damit es nicht zu komplex wird, möchte ich eure hilfe nur beim auslesen.

auf der webside wo das bild dargestellt werden soll habe ich folgendes

[img]../getpic.php?typ=anlage_index[/img]

da ich die klassen verwende und das auslesen mit der selben funktion geschieht, habe ich getpic.php geschrieben um die unterschiedlichen datenformate richtig auszulesen.

<?php
include_once("zugriff.inc.php");
include_once("dbfoo.inc.php");

if = ($_GET['typ']!="")
{
//$typ = isset($_GET['typ']) ? $_GET['typ'] : '';
$typ = $_GET['typ']

$dbm = new DBManager(); // Klasse DBManager wird ausgefüht
$dbm->connection(); // die Funktion in der Klasse DBManager bekommt den wert der Variabel $dbm zurgewiesen
$foo = new DBFoo($dbm); // Klasse DBFoo wird mit der Variable $dbm ausgeführt

$bild = $foo->getData($typ, 'bild'); //Die Funktion getData in DBFoo wird ausgeführt und bekommt von dort ein Arrray zurück
$dbm->disconnect();

header("Content-Type: image/jpeg");
print $bild;
}
else
{
echo "Das Bild kann im Moment nicht dargestellt werden";
}
?>


die funktion zum auslesen der datei sieht so aus.

function getData($typ, $datatype)
{
$query = "SELECT " . $datatype . " FROM " . $this->tableName . " WHERE typ = '" . $typ . "'";
$result = $this->dbManager->runQuery($query);
$data = mysql_fetch_array($result, MYSQL_ASSOC); //gibt eine assoziatives Array zurück
mysql_free_result($result);
return $data[$datatype]; //Variable wird übergeben
}


nun das ganze funktioniert mit text, da mache ich aber auch ein etwas anderes skript


<?php
include_once("zugriff.inc.php");
include_once("dbfoo.inc.php");
$dbm = new DBManager(); // Klasse DBManager wird ausgefüht
$dbm->connection(); // die Funktion in der Klasse DBManager bekommt den wert der Variabel $dbm zurgewiesen
$foo = new DBFoo($dbm); // Klasse DBFoo wird mit der Variable $dbm ausgeführt

$text = $foo->getData('anlage_index', 'text'); //Die Funktion getBar in DBFoo wird ausgeführt und bekommt von dort ein Arrray zurück
$dbm->disconnect();

echo $text;
?>


ja, was ist falsch
__________________
ich weis dass ich nichts weis und umso mehr ich weis desto mehr weis ich dass ich nichts weis.
zeiss69 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.03.2006, 09:06  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Benutze bitte den PHP - Tag um das ordentlich anzuzeigen, denn SO schauts übersichtlicher aus !

PHP-Code:
<?php 
include_once("zugriff.inc.php"); 
include_once(
"dbfoo.inc.php"); 

if = (
$_GET['typ']!=""

//$typ = isset($_GET['typ']) ? $_GET['typ'] : ''; 
$typ $_GET['typ'

$dbm = new DBManager(); // Klasse DBManager wird ausgefüht 
$dbm->connection(); // die Funktion in der Klasse DBManager bekommt den wert der Variabel $dbm zurgewiesen 
$foo = new DBFoo($dbm); // Klasse DBFoo wird mit der Variable $dbm ausgeführt 

$bild $foo->getData($typ'bild'); //Die Funktion getData in DBFoo wird ausgeführt und bekommt von dort ein Arrray zurück 
$dbm->disconnect(); 

header("Content-Type: image/jpeg"); 
print 
$bild

else 

echo 
"Das Bild kann im Moment nicht dargestellt werden"


// und hier die Funktion

function getData($typ$datatype

$query "SELECT " $datatype " FROM " $this->tableName " WHERE typ = '" $typ "'"
$result $this->dbManager->runQuery($query); 
$data mysql_fetch_array($resultMYSQL_ASSOC); //gibt eine assoziatives Array zurück 
mysql_free_result($result); 
return 
$data[$datatype]; //Variable wird übergeben 


// mit Text ?!! *hä*

include_once("zugriff.inc.php"); 
include_once(
"dbfoo.inc.php"); 
$dbm = new DBManager(); // Klasse DBManager wird ausgefüht 
$dbm->connection(); // die Funktion in der Klasse DBManager bekommt den wert der Variabel $dbm zurgewiesen 
$foo = new DBFoo($dbm); // Klasse DBFoo wird mit der Variable $dbm ausgeführt 

$text $foo->getData('anlage_index''text'); //Die Funktion getBar in DBFoo wird ausgeführt und bekommt von dort ein Arrray zurück 
$dbm->disconnect(); 

echo 
$text

?>
So wie ich das sehe fehlt bei dir einfach 'n createImage

PHP-Code:
<?php
 header
("Content-type: image/jpeg");
 
$image imagecreatefromjpeg($output); // $output ist Pfad zum Bild
 
imagejpeg($image);
?>
so würde eine Ausgabe kommen
M3g4Star ist offline   Mit Zitat antworten
Alt 01.03.2006, 09:10  
Gast
 
Beiträge: n/a
Standard

16.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
http://www.php-faq.de/q/q-db-blob.html

Gruß
phpfan
  Mit Zitat antworten
Alt 01.03.2006, 13:01  
Neuer Benutzer
 
Registriert seit: 28.02.2006
Beiträge: 24
zeiss69
Standard

hallo!

wow, erst mal danke für die promten antworten!
M3g4Star, ich werde es heute mal umschreiben und versuchen.
phpfan, der beitrag der in deinem link beschrieben ist, ist sehr gut.
ich habe mir das auch schon anderst überlegt. da ich aber für
meinen vater, welcher ein magazien ausgibt, die titelseite immer änderen
will, ohne sich mit phptransf. herumzuschlagen, dachte ich dies ist eine
gute idee, dass ich über ein html formular eine php interface starte welches
ihm ermöglicht ohne sich lange mit ftp programmen rumzuschlagen.
wenn es mal fuktioniert, und der upload zu lange geht und somit kunden
eher abschreckt, werde ich mir den lösungsvorschlag nochmals durch den kopf gehen lassen.
__________________
ich weis dass ich nichts weis und umso mehr ich weis desto mehr weis ich dass ich nichts weis.
zeiss69 ist offline   Mit Zitat antworten
Alt 01.03.2006, 21:12  
Neuer Benutzer
 
Registriert seit: 28.02.2006
Beiträge: 24
zeiss69
Standard

hallo,

habe mein skript geändert, doch irgendwas mache ich immer noch falsch,
denn eine ausgabe bekomme ich nicht. Zwar blitzt das leere Bild icon kutz auf, dass wars aber schon.
bitte seht euch dies nochmals an.

PHP-Code:
<?php
    
include_once("zugriff.inc.php");
    include_once(
"dbfoo.inc.php");

    if = (
$_GET['typ']!="")
    {
    
//$typ = isset($_GET['typ']) ? $_GET['typ'] : '';
    
$typ $_GET['typ']
    
    
$dbm = new DBManager(); // Klasse DBManager wird ausgefüht
    
$dbm->connection(); // die Funktion in der Klasse DBManager  bekommt den wert der Variabel $dbm zurgewiesen
    
$foo = new DBFoo($dbm); // Klasse DBFoo wird mit der Variable $dbm ausgeführt
    
    
$bild $foo->getData($typ'bild'); //Die Funktion getData in DBFoo wird ausgeführt und bekommt von dort ein Arrray zurück
    
$dbm->disconnect();
    
    
header("Content-Type: image/jpeg");
    
$image = @imagecreatefromjpeg($bild);
     
imagejpeg($image); 
    }
    else
    {
    echo 
"Das Bild kann im Moment nicht dargestellt werden";
    }
?>
__________________
ich weis dass ich nichts weis und umso mehr ich weis desto mehr weis ich dass ich nichts weis.
zeiss69 ist offline   Mit Zitat antworten
Alt 01.03.2006, 21:26  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von zeiss69
PHP-Code:
    header("Content-Type: image/jpeg");
    
$image = @imagecreatefromjpeg($bild);
     
imagejpeg($image); 
Lass den header()-Aufruf und das @ vor imagecreatefromjpeg() zunächst einmal weg und schaue dir dann an, ob das Script irgendwelche Fehlermeldungen produziert.

Allerdings ist das ein PHP- und kein MySQL-Problem. Deswegen geht es jetzt hier im PHP-Forum weiter.
xabbuh ist offline   Mit Zitat antworten
Alt 01.03.2006, 21:45  
Neuer Benutzer
 
Registriert seit: 28.02.2006
Beiträge: 24
zeiss69
Standard

hallo xabbuh!

habe ich schon probiert, habe den header ausgeblendet und das @, doch nichts hat es genützt.
ich habe in der db den mime auf null und imege/jpeg gestellt oder abgeschaltet, nichts funktioniert.

ps.:muss ich noch was machen um im php weiter zu diskutieren, soll ich dort das gleiche öffnen.
__________________
ich weis dass ich nichts weis und umso mehr ich weis desto mehr weis ich dass ich nichts weis.
zeiss69 ist offline   Mit Zitat antworten
Alt 01.03.2006, 21:58  
Gast
 
Beiträge: n/a
Standard

Öhm, seh ich das richtig, das $bild kein Dateiname, sondern das Bild selbst aus der db ist?

Versuch nach dem header() mal ImageJPEG($bild);

Wenns das nicht geht, dann debug mal, was in deinem ersten Skript die Variable $bild für einen Inhalt hat.
  Mit Zitat antworten
Alt 01.03.2006, 22:07  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Zitat:
Zitat von cptpicard
Öhm, seh ich das richtig, das $bild kein Dateiname, sondern das Bild selbst aus der db ist?
Das dürfte der entscheidende Hinweis sein. Wenn sich in der Datenbank lediglich der Binärcode des Bildes befindet, werden die GD-Funktionen überhaupt nicht benötigt:
PHP-Code:
<?php
    header
('Content-Type: image/jpeg');
    print 
$bild;
?>
xabbuh ist offline   Mit Zitat antworten
Alt 02.03.2006, 07:01  
Neuer Benutzer
 
Registriert seit: 28.02.2006
Beiträge: 24
zeiss69
Standard

ihr liegt richtig, das $bild kein Dateiname ist, sondern das Bild selbst welches aus der db kommen soll.
werde mal den tip von cptpicard folge leisten, denn das mit print bild habe ich schon mal probiert, habe aber festgestellt, dass ich "" genommen habe als das ich '' nehme, pobier ich auch mal.
__________________
ich weis dass ich nichts weis und umso mehr ich weis desto mehr weis ich dass ich nichts weis.
zeiss69 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL - Download adlerr2000 Datenbanken 4 30.05.2006 12:59
HILFE, upload scirpt mit verkleinerung von bildern wiegia086 PHP Tipps 2006 8 16.03.2006 14:32
upload script mit verkleinung von bildern wiegia086 PHP Tipps 2006 6 02.03.2006 16:28
mysql / php Bilder Upload TomH27 PHP Tipps 2006 9 11.02.2006 23:30
[Erledigt] PHP upload und mysql eintrag PHP Tipps 2005-2 1 05.10.2005 22:07
PHP Bild Upload verweigert FTP Download Schreibrechte fehlen PHP Tipps 2005-2 2 28.09.2005 13:50
File up& download in MySQL // Problem hier: Filesize PHP Tipps 2005-2 1 20.09.2005 15:30
[Erledigt] Mysql - PHP - Bilder upload Datenbanken 5 24.08.2005 00:04
Bilder Upload in MySQL...geht das? Aris Sung PHP-Fortgeschrittene 7 23.08.2005 23:18
URL-Liste -> Download -> ZIP-Archiv -> Upload PHP-Fortgeschrittene 0 17.08.2005 16:12
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Download => Bearbeitung => Upload RoDa PHP Tipps 2005-2 5 30.06.2005 11:38
Bilder - Upload - Email - MySQL PHP Tipps 2004 10 20.10.2004 15:48
Bild upload in Verzeichniss/ Bild-Name in MySQL Datenbank PHP Tipps 2004 5 10.08.2004 13:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php bilder mysql db downloaden, downloadvon bildern mit php, php \$_get[\'typ\']\, download von bildern php, php download von bildern, php download seite mit bild, download bilder von mysql mit php, php up und download funktionen, php upload filename.ext in klein umschreiben, bilder download php, php bild aus der db zum download, php upload download mysql

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.