Einzelnen Beitrag anzeigen
  #3  
Alt 07.10.2006, 16:17:16
UncleKracker UncleKracker ist offline
Anfänger
 
Registriert seit: Aug 2006
Beiträge: 37
AW: Wie kann ich ein Bild hochladen und gleichzeitig Beschreibungstext einlesen?

Hi MatMel!

Also ich habe jetzt erst mal versucht das Vollbild und das Vorschaubild gleichzeitig hochzuladen. Die Skripte funktionieren soweit, bis auf die Tatsache, dass die JPG-Files nicht auf dem Server gespeichert werden!

Wo liegt in dem folgenden Code der Fehler?

bilder_neu.php
PHP-Code:
<?php
// Bild-ID ermitteln
$selectquery 'SELECT MAX(id) FROM bilder_test';
$selecterg mysql_db_query($db_name$selectquery$verbindung);

list(
$maxid) = mysql_fetch_row($selecterg);
$maxid++;

echo 
'<form enctype="multipart/form-data" action="bilder_action.php?modus=neu" method="post">';
echo 
'<input type="hidden" name="MAX_FILE_SIZE" value="1000000">';
echo 
'<input type="hidden" name="bild_id" value="'.$maxid.'">';
echo 
'<table border=1>';
echo 
'<tr><td>Vollbild</td>';
echo 
'<td><input name="userfile1" type="file" size="50"></td></tr>';
echo 
'<tr><td>Vorschaubild</td>';
echo 
'<td><input name="userfile2" type="file" size="50"></td></tr>';
echo 
'</table>';
echo 
'<input type="submit" value="Bilder hochladen">';
echo 
'</form>';
?>
bilder_action.php
PHP-Code:
<?php
include 

if (
$_GET["modus"] == 'neu') {

    if (
is_uploaded_file($_FILES['userfile1']['size']) > 100000) {
        echo 
'Das Vollbild ist zu gro&szlig; (es sind maximal 100 kb erlaubt).';
        exit;
        }
    
    if (
is_uploaded_file($_FILES['userfile2']['size']) > 100000) {
        echo 
'Das Vorschaubild ist zu gro&szlig; (es sind maximal 100 kb erlaubt).';
        exit;
        }    
    
    
$bildinfos1 GetImageSize($_FILES['userfile1']['tmp_name']);
    
$bildinfos2 GetImageSize($_FILES['userfile2']['tmp_name']);
    
    if (
$bildinfos1[0] > 400) {
        echo 
'Das Vollbild ist breiter als erlaubt (maximal 400 Pixel)';
        exit;
        }
        
    if (
$bildinfos2[0] > 120) {
        echo 
'Das Vorschaubild ist breiter als erlaubt (maximal 120 Pixel)';
        exit;
        }
    
    if (
$bildinfos1[2] != 2) {
        echo 
'Bei dem Vollbild handelt es sich nicht um ein JPG!';
        exit;
        }
    
    if (
$bildinfos2[2] != 2) {
        echo 
'Bei dem Vorschaubild handelt es sich nicht um ein JPG!';
        exit;
        }

    
$insertquery 'INSERT INTO bilder_test
                    (id, vollbild_id, preview_id)
                    VALUES ("'
.$_POST["bild_id"].'", "'.$_POST["bild_id"].'", "'.$_POST["bild_id"].'")';
    
$inserterg mysql_db_query($db_name$insertquery$verbindung);
    
    
$bild_id mysql_insert_id($verbindung);
    
    
$bild_datei1 $bild_id.'.jpg';
    
$bild_datei2 $bild_id.'preview.jpg';    
    
$bild_url_intern1 '/htdocs/galerie/'.$bild_datei1;
    
$bild_url_intern2 '/htdocs/galerie/'.$bild_datei2;    
    
$bild_url_extern1 'http://www.muster.de/galerie/'.$bild_datei1;
    
$bild_url_extern2 'http://www.muster.de/galerie/'.$bild_datei2;    
    
    
copy($_FILES['userfile1']['tmp_name'], $bild_url_intern1);
    
copy($_FILES['userfile2']['tmp_name'], $bild_url_intern2);
    
    echo 
'Das Vollbild wurde als '.$bild_datei1.' und das Vorschaubild als '.$bild_datei1.' auf den Server &uuml;bertragen und gespeichert!';
    }
?>
includes habe ich aus sicherheitsgründen weggelassen!
Mit Zitat antworten