php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.01.2011, 15:17  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] MySQL Longblob - Profilbild

Hallo Leute
Ich bin neu hier, und noch Anfänger.
Ich habe mir eine Internetseite erstellt. Die Seite ist auch soweit fertig. Jetzt wollte ich meinem User der sich registriert noch anbieten ein Profilbild hoch zu laden. Das Bild soll er aber auch ändern können wenn es ihm nicht mehr gefällt. Das ganze will ich über die Datenbank erledigen. Dh. Ich will das in einem Longblob-Feld ab legen. Das auslesen klappt schon ganz gut. Aber ich weiß nicht wie ich es hin bekomme dass der User sein Bild ändern kann. Also im Internet finde ich immer nur insert into Anweisungen.
Ich möchte aber über mein UPDATE-Formular dieses Bild ändern und weiss nicht wie die PHP-Anweisung aussehen muss. Kann mir da irgend, jemand weiter helfen. Da ich schon seit Tagen auf der Suche bin und keinen Denkanstoß find frag ich mal hier.
Ich bedanke mich mal im Voraus
ejay
PS: Ich habe auch nur 2 Felder die ich eingearbeitet habe. imgdata, imgtype
ejay ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.01.2011, 15:19  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Bilder speichert man üblicherweise nicht in der Datenbank. Speicher sie auf dem Dateisystem und speicher nur den Dateinamen bzw. den Pfad zur Datei in der Datenbank.
Flor1an ist offline   Mit Zitat antworten
Alt 13.01.2011, 15:35  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Das hatte ich auch schon so aber wenn ich das mache weiß ich nicht wie ich das machen kann dass der User wenn er ein neues Profilbild auf dem Server speichert gleichzeitig das alte Bild löscht.
ejay ist offline   Mit Zitat antworten
Alt 13.01.2011, 15:40  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Du guckst ob schon ein Profilbild da ist und löscht es (mit unlink), bevor du das neue anlegst. Oder aber du benutzt für das Profilbild den selben Dateinamen und überschreibst es einfach. Binärdaten würde ich jedenfalls nicht in der DB ablegen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 13.01.2011, 15:41  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 298
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

In der Datenbank steht doch der Pfad zum Bild des Users, wenn der User nun ein neues Bild hochlädt, dann nimmst du erstmal den Pfad aus der Datenbank und löscht das Bild und anschließend fügst du den Pfad des neuen Bildes ein.
KarlEgon ist offline   Mit Zitat antworten
Alt 13.01.2011, 15:47  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Das geht ja schnell hier LOL
Also ich werde eure Vorschläge mal beherzigen und versuchen das so um zu setzen. Da ich ja noch Anfänger bin werde ich doch etwas Zeit brauchen. Ich werde mich dann aber mal melden wenn ich fertig oder Hilfe brauche.
Ich bedanke mich aber mal für eure Antworten
ejay ist offline   Mit Zitat antworten
Alt 13.01.2011, 18:53  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Hallo
Ich hab hier im Forum ein nützliches Script gefunden.
Jetzt bin ich auf eure Hilfe angewiesen da ich nicht weiß wie der User zuerst sein altes Bild löschen soll. Hab auch schon probiert über mysql_query("DELETE FROM ...
aber wie gesagt ich bin Anfänger
Ich schicke mal das Script das ich gefunden habe. Leider hab ich die Seite schon verlassen und weiß nicht mehr wo ich es hier gesehen habe
Also hier mal das Script:

PHP-Code:
<?
// Bild eintrag
if (isset ($_POST['bsubmit'])) {
include (
"meine DB");
include (
"upload.php");
echo 
$return upload($uid);
$bild "img/".$uid."_".$_FILES['bild']['name'];
$db_link mysql_query("UPDATE user SET bild='$bild' WHERE uid='$uid'");
}
?> 
<form name="1" method="post" enctype="multipart/form-data" action="<? $_SERVER['PHP_SELF']; ?>" />
<input type="file" name="bild" uid="bild" />
<input type="hidden" value="$bild" name="path">
</label>
<input type="submit" name="bsubmit" id="button" value="Bild in die Datenbank eintragen" />
</form>
#######################
upload.php

PHP-Code:
<?
function upload($uid){
$path "img/".$uid."_"
$max_size 200000;
$endungen = array("jpg","gif","png");

$name $_FILES['bild']['name'];
$explode explode("."$name);

$this_end $explode[1];

if(!
in_array ($this_end$endungen)) return "Nur Endungen .gif / .jpg / .png sind zulässig.";
$size $_FILES['bild']['size'];
if(
$size $max_size"Ihr Bild ist zu groß. Nur maximal 2MB sind zulässig.";

$temp $_FILES['bild']['tmp_name'];
if(
move_uploaded_file($temp$path.$name)) {return "Ihr Upload von Ihrem Bild(\"$name\") war erfolgreich.";}
else{return 
"Es ist ein Fehler aufgetreten, bitte laden Sie das Bild erneut hoch.";}
}
?>
Ich hoffe ich darf das so schicken, da ich ja hier neu bin und mich noch nicht so aus kenne
Ich danke euch recht herzlich für eure Hilfe
ejay

PS: Danke für den Hinweis mit dem PHP

Geändert von ejay (13.01.2011 um 23:19 Uhr). Grund: Statt [B] einfach das nächste Mal [PHP] benutzen ;)
ejay ist offline   Mit Zitat antworten
Alt 14.01.2011, 10:16  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 298
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Bevor du das Update in der Datenbank durchführst, fragst du erstmal ab, ob der User bereits ein Bild hat (SELECT), wenn ja, dann musst du das Bild löschen (unkink()) ansonsten musst du nichts machen.

Zitat:
Hab auch schon probiert über mysql_query("DELETE FROM ...
aber wie gesagt ich bin Anfänger
Damit würdest du aber nur den Pfad aus der Datenbank löschen und hast dadurch dann keine Ahnung mehr, wo das Bild ist
KarlEgon 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 funktioniert nicht (Erweiterung nicht erkannt!?) pfump Server, Hosting und Workstations 10 17.03.2012 11:07
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] PHP bekommt keine Verbindung zu MySQL SaKe Datenbanken 15 20.09.2010 14:45
Mysql fehler bei externen Zugriff SteiniKeule Datenbanken 4 18.06.2010 12:54
Lerne Grundlagen | Quellensammlung cycap PHP Einsteiger 0 12.11.2008 16:23
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
MySQL in PHP integrieren (Windows 2003 Server ohne Apache) Plague Server, Hosting und Workstations 3 30.08.2007 21:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
MySQL &amp;amp; PHP: Problem mit Password() Datenbanken 10 19.09.2005 11:00
mysql_result(): supplied argument is not a valid MySQL PHP Tipps 2005-2 4 25.08.2005 14:44
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql longblob, longblob, mysql update longblob, longblob mysql, profilbild php mysql, profilbild mysql, php sql profilbild, profilbild mysql datenbank, profilbilder php mysql, anzeigen mysql longblob, php benutzerprofil bild ändern, benutzerprofil bild php ändern, profilbild ändern php myqsl, bilder hochladen und als profilbild einstellen php script, mysql profilbilder, mysql formular bild ändern, longblob aus der datenbank löschen, shell mysql blob auslesen, mysql bilder pfad oder blob, php mysql longblob

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:18 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