php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.01.2009, 17:26  
Neuer Benutzer
 
Registriert seit: 09.09.2008
Beiträge: 22
soffi befindet sich auf einem aufstrebenden Ast
Standard Bildupload in CMS funktioniert nicht

Hallo,

ich bin hier gerade am verzweifeln, weil mein Bildupload in meinem CMS nicht funktionieren will. Vielleicht weiss jemand Rat?
Die Fehlermeldung sieht so aus:
Array ( [tbild1] => Array ( [name] => 02.jpg [type] => image/jpeg [tmp_name] => /Applications/MAMP/tmp/php/phpYD9Ebg [error] => 0 [size] => 34147 ) [tbild2] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) [tbild3] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

PHP-Code:
        /** Benennung der Bilder **/
        
$bild1=$_FILES['tbild1']['name'];
        
$bild2=$_FILES['tbild2']['name'];
        
$bild3=$_FILES['tbild3']['name'];
        
/** Ordner für den Upload **/
        
$uploaddir '../upload/01_images/';
        
/** BILD 1 **/
        
if($_FILES['tbild1']['tmp_name']!=""){
            if (
$_FILES['tbild1']['size']< 100000){
                if(
$_FILES['tbild1']['type'] == "image/pjpeg" || $_FILES['tbild1']['type']== "image/jpeg") { 
                    
/** Bilder umbenennen z.B. id_1.jpg **/
                    
$neuername_bild1=$tid."_1.jpg";    
                    if (
move_uploaded_file($_FILES['tbild1']['tmp_name'], $uploaddir $neuername_bild1)) {
                        echo 
"";
                    } else {
                        echo 
"Aufgrund technischer Probleme ist der Bildupload für das erste Bild ist leider fehlgeschlagen.";
                    }
                }else{
                    
$zugrossbild1"Das erste Bild ist kein .jpeg/.jpg Format.";
                    
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                    
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                    
$zugrossbild.= '<br><br>Vielen Dank.';
                   }
            }else{
                
$zugrossbild1"Das erste Bild übersteigt die vorgegebene Dateigrösse.";
                
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                 
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                 
$zugrossbild.= '<br><br>Vielen Dank.';
            }
        }
        
/** BILD 2 **/
         
if($_FILES['tbild2']['tmp_name']!=""){
            if (
$_FILES['tbild2']['size']< 100000){
                if(
$_FILES['tbild2']['type'] == "image/pjpeg" || $_FILES['tbild2']['type']== "image/jpeg") { 
                    
$neuername_bild2=$tid."_2.jpg";    
                    if (
move_uploaded_file($_FILES['tbild2']['tmp_name'], $uploaddir $neuername_bild2)) {
                        echo 
"";
                    } else {
                        echo 
"Aufgrund technischer Probleme ist der Bildupload für das zweite Bild ist leider fehlgeschlagen.";
                    }
                }else{
                    
$zugrossbild2"Das zweite Bild ist kein .jpeg/.jpg Format.";
                    
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                    
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                    
$zugrossbild.= '<br><br>Vielen Dank.';
                   }
            }else{
                
$zugrossbild2"Das zweite Bild übersteigt die vorgegebene Dateigrösse.";
                
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                 
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                 
$zugrossbild.= '<br><br>Vielen Dank.';
            }
        }
        
/** BILD 3 **/
        
if($_FILES['tbild3']['tmp_name']!=""){
            if (
$_FILES['tbild3']['size']< 100000){
                if(
$_FILES['tbild3']['type'] == "image/pjpeg" || $_FILES['tbild3']['type']== "image/jpeg") { 
                    
$neuername_bild3=$tid."_3.jpg";    
                    if (
move_uploaded_file($_FILES['tbild3']['tmp_name'], $uploaddir $neuername_bild3)) {
                        echo 
"";
                    } else {
                        echo 
"Aufgrund technischer Probleme ist der Bildupload für das dritte Bild ist leider fehlgeschlagen.";
                    }
                }else{
                    
$zugrossbild3"Das dritte Bild ist kein .jpeg/.jpg Format.";
                    
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                    
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                    
$zugrossbild.= '<br><br>Vielen Dank.';
                   }
            }else{
                
$zugrossbild3"Das dritte Bild übersteigt die vorgegebene Dateigrösse.";
                
$zugrossbild '<br>Bitte senden Sie das Bild separat unter Angabe Ihres Namens<br>an folgende E-Mail Adresse: ';
                 
$zugrossbild.= '<br><a href="mailto:info@e.de">info@e.de</a>';
                 
$zugrossbild.= '<br><br>Vielen Dank.';
            }
        }

echo 
'<pre>'.print_r($_FILES).'</pre>';  
?> 
soffi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.01.2009, 17:32  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Wo ist de eigentliche Problembeschreibung? Soll das ein Multiuploadscript sein wo du 3 Bilder auf einmal hochladen willst?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 09.01.2009, 17:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Hmm, ne Fehlermeldung ist das nicht wirklich. Ich würde eher mal auf diese Zeile tippen
Zitat:
echo '<pre>'.print_r($_FILES).'</pre>';
Du mußt mit den Uploads eben weiter arbeiten. Das da oben ist quasi nur die Validierung der Dateien.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 09.01.2009, 17:44  
Neuer Benutzer
 
Registriert seit: 09.09.2008
Beiträge: 22
soffi befindet sich auf einem aufstrebenden Ast
Standard

ja, ein uploadscript für 3 Bilder.
wie denn weiter arbeiten? so müssten doch eigentlich die Bilder in dem angegebenen Ordner liegen?
soffi ist offline  
Alt 09.01.2009, 17:47  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Warum machst du das denn dann nicht über ein Array?

Ich habe mir vor kurzen erst ein Upload für drei Bilder geschrieben.

Die File Felder sehen so aus.

Code:
<input type="file[]" name="bild">
Und die Abarbeitung machst dann über eine foreach Schleife.

Wenn di Hilfe brauchst oder vieleicht meinen Code dann sage bescheid. mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 09.01.2009, 17:54  
Neuer Benutzer
 
Registriert seit: 09.09.2008
Beiträge: 22
soffi befindet sich auf einem aufstrebenden Ast
Standard

ja - in der form.htm steht:
PHP-Code:
<input name="tbild1" type="file" class="formularfelder" size="20" id="tbild1"
Alle anderen Daten werden in der Datenbank gespeichert, nur die Bilder nicht.

Wenn es dir nichts ausmacht, dann kannst du mir gerne dein script schicken, vielleicht geht es damit.

gruß
soffi
soffi ist offline  
Alt 09.01.2009, 17:59  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Der Code ist aus meinem Shop Script also musst du dir anpassen und auch verstehen was da passiert.

PHP-Code:
if(isset($_POST['send']))
{
 
//nur abhandeln wenn der haken dazu gesetzt ist
 
if(isset($_POST['zb_ok']) == 1)
 {
  
/*
   prüfung der artikelhauptvariablen ist beendet
   nun werden prüfung für die zusätzlichen bilder begonnen
  */
  
foreach($_FILES['img']['name'] as $bild_key => $bild_value)
  {
   
//bilder string auseinandernehmen für prüfungen
   
$img explode(".",$_FILES['img']['name'][$bild_key]);
   
$img_name $img[0];//bildnamen
   
$img_end $img[1];//bildendungen
   //prüfen ob magic quotest on
   
if(get_magic_quotes_gpc() && get_magic_quotes_runtime())
   {
    
$img_name stripslashes($img_name);
    
$img_end stripslashes($img_end);
   }
   
//artikel bild namen pürfen
   
if($img_name!="" && !preg_match("#^([0-9a-z_-]+)$#i",$img_name))
   {
    
$error['zi_na'] = 'Der Bildname ist nicht korrekt oder fehlt!
     Nur Zeichen 0-9 a-z A-Z_-sind erlaubt!'
;
   }
   
//artikel bild endung prüfen
   
if($img_end!="" && !preg_match("#^(jpg|jpeg|JPG|gif|png)$#si",$img_end))
   {
    
$error['zi_end'] = 'Das Bild ist kein Bild! Nur gif,png,jpg!';
   }
   
//prüfungen nach get imagesize
   
if($z_bild getimagesize($_FILES['img']['tmp_name'][$bild_key]))
   {
    
//max größe und max breite und größe kb festlegen
    
$z_width 700;
    
$z_height 700;
    
$z_size $_FILES['img']['size'][$bild_key];
    
//prüfen der breite
    
if($z_bild[0] > $z_width)
    {
     
$error['zi_br'] = 'Das Zusatzbild '.$img_name.'.'.$img_end.' ist zu breit! Maximal 700px zulässig!';
    }
    
//prüfen der höhe
    
if($z_bild[1] > $z_height)
    {
     
$error['zi_h'] = 'Das Zusatzbild '.$img_name.'.'.$img_end.' ist zu hoch! Maximal 700px zulässig!';
    }
    
//prüfen der größe in kb
    
if($z_size > (100*1024))
    {
     
$error['zi_s'] = 'Das Bild ist zu groß! Maximal 100kb zulässig!';
    }
   }
//ende getimagesize
   //bildvariablen abschliesend bearbeiten
   
$img_name trim(htmlentities(strip_tags($img_name)));
   
$img_end trim(htmlentities(strip_tags($img_end)));
   
//keine fehler aufgetreten dann bilder hochladen
   
if(!$error && $img_end!="" && $img_name!="")
   {
    
move_uploaded_file($_FILES['img']['tmp_name'][$bild_key],"../zusatz_bilder/".$_FILES['img']['name'][$bild_key]);
    
$sqlbefehl ="
       Insert Into "
.$prefix."artikel_bilder
         (
          art_id,
          bild
         )
       VALUES
         (
          '"
.intval($art_id)."',
          '"
.mysql_real_escape_string($img_name.".".$img_end)."'
         )
       "
;
    
$send_sql mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
   }
//ende foreach
  
}//ende isset zb_ok
  
header("Location: ".$path."/admin/artikel_edit.php?id_artikel=".intval($art_id)."");
 }
//ende kein fehler
}//ende sende button 
Und so werden da die File inputs genannt bzw. bezeichnet.

Code:
<input type="file[]" name="img">
Die File Felder werden als Array deklariert und via foreach abgearbeitet.

Hoffe das hilft dir,ist getestet und funktioniert,bei mir zumindest.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 09.01.2009, 18:07  
Neuer Benutzer
 
Registriert seit: 09.09.2008
Beiträge: 22
soffi befindet sich auf einem aufstrebenden Ast
Standard

super, danke. werde ich mir jetzt mal ansehen.
gruß
soffi
soffi ist offline  
Alt 09.01.2009, 19:52  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dein Script lädt die Dateien hoch und speichert sie unter einen Upload-Pfad als {ID}_1.jpg - _3.jpg . In die Datenbank trägt man Bilder normalerweise nicht ein, sondern nur ihre Pfade. das könntest Du einfach tun.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 09.01.2009, 20:18  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

nikosch welches S cript meinst du? Meines oder das vom OT?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna 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
CMS mit Framework KeKs0r PHP-Fortgeschrittene 11 27.12.2008 23:03
send button funktioniert nicht, finde fehler nicht selma123 PHP Tipps 2008 3 17.09.2008 11:57
CMS Eintrag anzeigen funktioniert nicht soffi PHP Tipps 2008 4 11.09.2008 14:20
CMS bearbeiten-script funktioniert nicht soffi PHP Tipps 2008 19 11.09.2008 11:42
Bildupload funktioniert beim Provider nicht maulwurf PHP Tipps 2008 6 27.09.2007 17:23
like funktioniert nicht immer Sven Datenbanken 3 23.07.2007 21:40
Session funktioniert nicht bei session.use_cookies = Off Quagga PHP Tipps 2007 13 13.01.2007 18:27
Session funktioniert im IE nicht, Firefox ohne Probleme havok PHP Tipps 2006 7 14.08.2006 14:05
Lokal funktioniert alles -> auf Server fast nichts PsychoEagle Datenbanken 2 14.08.2006 08:43
Problem mit Bildupload 2wuck PHP Tipps 2006 2 03.07.2006 07:05
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Kontakrformular funktioniert nur zum Teil PHP Tipps 2005-2 12 18.07.2005 11:24
Aus Datei lesen und in Datei schreiben.. funktioniert nicht FBI PHP Tipps 2005-2 3 03.07.2005 16:55
Dateien erstellen oder schreiben funktioniert nicht im Web PHP Tipps 2004-2 1 05.12.2004 19:39
$row funktioniert nicht, warum? Paulo PHP Tipps 2004 10 22.09.2004 17:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
cms photo uploader, bildergalerie cms e mit upload, iv-cms img upload, iv cms upload, img upload cms, iv-cms bild uploaden, $_files[\'bild1\'][\'type\'] != \image/jpeg\ geht nicht, cms bild hochladen, cms bilder hochladen funktioniert nicht, iv cms bilder upload, iv cms bilder hochladen?, mehrere bildergalerien incms hochladen, iv-cms bilduploud, bilder cms hochladen länge, cms bilder hochladen, bild in cms 2008 hochladen, cms bilder php, bilder upload cms, cms bildupload, bild upload cms

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