php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.03.2005, 11:04  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard brauche kleine hilfe bei php script

Hi,

also ich habe ein schönes deutsches Bild in Datenbank Upload Script gefunden HIER:

http://www.it-academy.cc/content/art...?ID=0000001400


so kann mir einer sagen wie ich für dieses Script ne UPDATE Fuktion schreibe. Das heißt ich will das Bild ausgeben lassen und gleich darunter wieder ein Uploadformular wo man ein Bild auswählt auf Uploaden klickt und er dann aber keinen neuen Eintrag macht sondern das oben ausgegebene überschreibt.
Könnte mir das bitte bitte einer zeigen wie das geht. Das Script auf der Seite funzt soweit ich brauche nur noch diese Update fuktion. Das heißt ich setze hier an:

[image.php]
PHP-Code:
<?php
<?php 

if (isset($_GET['id'])) { 

// hier sind die mySQL Daten einzufüllen 
@mysql_connect("localhost""user""passwort"); 
@
mysql_select_db("db_name"); 

// Daten über das gewünschte Bild aus mySQL lesen 
$sql "SELECT * FROM files WHERE id = '".$_GET['id']."' LIMIT 1"
$result = @mysql_query($sql); 
$row mysql_fetch_object($result); 

// Prüfen, ob die gewählte Datei tatsächlich ein Bild ist 
if (strpos($row->filetype"image") !== false) { 

// Dem Browser mitteilen, dass jetzt ein Bild kommt 
header("Content-type: " $row->filetype); 

// Daten dekodieren und an den Browser senden 
echo base64_decode($row->filecontent); 


exit; 


?> ?>
[img]image.php?id=2[/img]

//Und jetze wieder ein Uploadformular mit der Funktion das eben ausgegebene zu überschreiben.

Danke im Vorraus
djrace ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.03.2005, 11:06  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1. bitte lern die passenden tags zu enutzen:
für php bzw php/html -> [php]-tags!!!
2. was erwartest du? wenn ich mir das anschaue, sieht das für mcih so aus, du hast ein script gefunden und willst es erweitert haben, dann bist du hier falsch, wenn du jemand suchst der dir ne lösung schreibt, dann poste es unter gesuche.
Falls du selbst php kannst, definiere doch mal genauer dein problem woran es hängt.

mfg
robo47
robo47 ist offline  
Alt 21.03.2005, 11:10  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

Sorry wegen den php-tags

Also wie ich dann da drunter wieder en Upload Formular schreibe weiß ich auch wie das geht aber ich kriege mysql UPDATE Anweisung net hin.........

die Bilder werden ja dann per ID ausgelsen. Und ich habe versucht das er beim erneuten Uploaden dann diese ID sich nimmt und in der Datenbank das Bild mit der gleichen ID überschreibt aber ich kriegst net hin.
djrace ist offline  
Alt 21.03.2005, 11:14  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

dann editier mal oben deinen post und mach die [php]-tags rein und poste mal was du bis jetzt an code hast, und was beim update nicht funktioniert.

mfg
robo47
robo47 ist offline  
Alt 21.03.2005, 11:22  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

ok

das da oben jetze 2 <? nicht beacht hab einen zuviel gesetzt beim posten.

also da ich noch net so ganz viel Ahnung habe....ich weiß nicht ob du dir die seite schon angeschaut hast von dem Link oben. Ich habe nun also einfach aus der [upload.php] das Formular genommen und unter das

[img]image.php?id=2[/img]

kopiert und habe anstatt INSERT INTO...........UPDATE SET...... WHERE ID aber schau selbst

PHP-Code:
<?php
<?php 

if($_GET['action'] == "upload") { 

// Auf Fehler überprüfen 
if ($_FILES['datei']['error'] == UPLOAD_ERR_NO_FILE || $_FILES['datei']['error'] == UPLOAD_ERR_PARTIAL) { 
// die Datei wurde nicht oder nur teilweise hochgeladen 
die("Die Datei wurde nicht korrekt hochgeladen. Bitte versuchen Sie es erneut."); 

} elseif (
$_FILES['datei']['error'] == UPLOAD_ERR_FORM_SIZE || $_FILES['datei']['error'] == UPLOAD_ERR_INI_SIZE) { 
// die Datei ist zu groß 
die("Die hochgeladene Datei ist zu groß."); 

} else { 
// die Datei wurde korrekt hochgeladen 

// hier sind die mySQL Daten einzufüllen 
@mysql_connect("localhost""root""computer"); 
@
mysql_select_db("dat"); 

// Temporäre Datei schreiben (ist wegen der Lese-Rechte nötig) 
// und auf die temp-Datei Lese Rechte vergeben 
move_uploaded_file($_FILES['datei']['tmp_name'], "./tempfile.tmp"); 
chmod("./tempfile.tmp"0644); 

// Daten aus Temp-Datei einlesen 
$zeiger fopen("./tempfile.tmp""rb"); 
$size $_FILES['datei']['size']; 
// den Dateiinhalt in $data speichern 
$data fread($zeiger$size); 
fclose($zeiger); 

// Temporäre Datei löschen 
@unlink("./tempfile.tmp"); 

// Damit die Datei jetzt in die mySQL Tabelle kann müssen wir sie vorher kodieren: 
$data base64_encode($data); 

// Leerzeichen im Dateinamen werden mit einem Unterstrich ersetzt 
$dateiname str_replace(" ""_"$_FILES['datei']['name']); 

// Und ab in die mySQL Tabelle... 
$sql "UPDATE dat SET '".$dateiname."', ".$_FILES['datei']['type']."', '".$data."', '".$size."' WHERE id='".$_GET['id']."'";
//$sql = "INSERT INTO files VALUES('', '".$dateiname."', '".$_FILES['datei']['type']."', '".$data."', '".$size."')"; 
@mysql_query($sql); 

echo 
"Datei-Upload erfolgreich."
exit; 


} else { 
// Upload-Formular anzeigen 
echo "<form method=\"post\" action=\"" $PHP_SELF "?action=upload\" enctype=\"multipart/form-data\"> 
<input type=\"hidden\" name=\"MAX_FILES_SIZE\" value=\"2097152\"> 
<input type=\"file\" name=\"datei\" maxlength=\"2097152\">
 
<input type=\"submit\" name=\"submit\" value=\"Uploaden\"> 
</form>"



?> 
?>
ich nehme aber an das man da noch so einiges verändern müsste habe aber leider keine plan was???
djrace ist offline  
Alt 21.03.2005, 11:25  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja das script an sich ist schon bescheiden.

@mysql_query($sql);
bitte durch
mysql_query($sql) or die(mysql_error());
ersetzen.
gewöhn dir an, immer bei querys mit mysql_error zu arbeiten, dann siehst du auch ob fehler auftreten.

mfg
robo47
robo47 ist offline  
Alt 21.03.2005, 11:26  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gut.

1. http://www.php-faq.de/q/q-db-blob.html wirst du schon kennen.

2. das erste was du verändern könntest, wäre auf das move_uploaded_file zu verzichten.
du kannst auch direkt die temporäre datei mit fopen() lesen und brauchst die datei nicht erst nochmal rumkopieren. du darfst dann auch aufs unlink() verzichten - php löscht die datei nach ausführung der php-datei eh sofort wieder.
3. die tabelle 'dat' existiert und heißt nicht zufällig 'files' wie beim auskommentierten INSERT INTO ?
axo ist offline  
Alt 21.03.2005, 11:29  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

cool jetze bringt er nen Fehler.

Also ich lasse mir das Bild mit ID 1 ausgeben und wähle ein neues aus und tue es Uploaden dann komt:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Winter.jpg', image/pjpeg', '/9j/4AAQSkZJRgABAgEAYABgAAD/7RBKUGhvdG9zaG9wIDMuMAA' at line 1

was heißt das?
djrace ist offline  
Alt 21.03.2005, 11:31  
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 102
djrace
Standard

upppss

also das erst die tabelle heißt files keine ahnung warum ich sie dat genannt habe also ich habe sie jetze auch files genannt. Es kommt der selbe Fehler wie eben

....

Was muss ich da noch ändern ????
djrace ist offline  
Alt 21.03.2005, 11:44  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Dummerweise hat UPDATE nicht die gleiche Syntax wie INSERT (http://dev.mysql.com/doc/mysql/de/update.html), und ohne die Tabellenstruktur zu kennen kann ich dir auch nicht weiterhelfen. Etwa so sollte das aussehen:
PHP-Code:
<?php
$sql 
"UPDATE dat 
               SET name = '$dateiname',
                       typ = '" 
$_FILES['datei']['type'] ."', 
                       inhalt = '$data',
                       groesse = $size,                     
               WHERE id=" 
$_GET['id']; 
?>
name, typ, inhalt und groesse musst du natürlich mit den Attribut-Namen deiner Tabelle ersetzen.
__________________
Gruss
L
lazydog ist offline  
 


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
Brauche bitte Hilfe mit CURL (cookies). Chaox PHP-Fortgeschrittene 2 18.02.2008 08:33
ich brauch hilfe bei meinem PHP Script cwillingshofer PHP Tipps 2007 3 30.07.2007 08:52
Ich brauche eure Hilfe beim rechnen... GELight PHP Tipps 2006 6 07.04.2006 14:20
BRAUCHE DRINGENDE HILFE !!! PHP Tipps 2005-2 2 06.08.2005 19:45
Brauche Hilfe bei preg_match() PHP Tipps 2005-2 2 23.07.2005 22:44
Brauche dringend Hilfe, Aufgabe fürs Studium (Upload-Script trivial Beitragsarchiv 23 23.06.2005 16:25
Bitte um Hilfe: Fehler im Script ?!? PHP Tipps 2005 6 23.05.2005 21:46
brauche dringend hilfe für ein login script PHP Tipps 2005 17 22.05.2005 21:56
Hilfe für Script (ähnlich wie Clanwar) PHP Tipps 2005 10 18.05.2005 20:28
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Script zum ändern einer RDF Datei ! Brauche HILFE! PHP Tipps 2004-2 3 06.12.2004 09:21
Hilfe bei einem simplen Script Beitragsarchiv 5 27.11.2004 16:44
Brauche Script Beitragsarchiv 11 27.11.2004 00:21
Brauche Dringend Hilfe bei einem Script !!! PHP-Fortgeschrittene 13 20.10.2004 23:17
brauche hilfe bei upload script... PHP Tipps 2004 2 14.08.2004 14:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php uploadformular leerzeichen

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