und schon ist das nächste Problem aufgetaucht:
unter PHP4 hatte ich damit keine Probleme. Unter PHP5 funktioniert es nicht mehr. Warum auch immer
seite1.php im Formularteil welches auf seite2.php leitet:
HTML-Code:
<input type="hidden" name="MAX_FILES_SIZE" value="600000">
<input name="datei" type="file" id="datei" size="15" maxlength="600000">
seite1.php außerhalb des Formulars:
PHP-Code:
// Dateiinformationen (Ausgabe über Schleife)
if (isset($_FILES['datei']))
{
foreach ($_FILES['datei'] as $key=>$element)
{
echo '[$key] => $element<br>';
}
}
seite2.php über dem head:
PHP-Code:
$datei = $_POST['datei'];
$MAX_FILES_SIZE = $_POST['MAX_FILES_SIZE'];
seite2.php als Abfrage und speichern:
PHP-Code:
if ($datei == '')
{
$c = 'kein Bild';
}
else
{
echo '<br /><br />Bild 2: '.$datei; // als Testausgabe: wird ausgegeben
$regExp = '/^[A-Za-z0-9_-]([A-Za-z0-9_-]*\.?[A-Za-z0-9_-])*\.[jpg]{3}$/';
if ($_FILES['datei']['size'] > 0)
{
echo '<br /><br />Bild 3: '.$datei; // als Testausgabe: wird nicht ausgegeben
if ($_FILES['datei']['size'] < 600000)
{
echo '<br /><br />Bild 4: '.$datei; // als Testausgabe: wird nicht ausgegeben
if (preg_match($regExp,$_FILES['datei']['name']))
{
$c = 'okay';
echo '<br /><br />Bild 5: '.$datei; // als Testausgabe: wird nicht ausgegeben
}
else
{
$c = 'fehler';
echo 'Test: Fehler: '.$datei; // als Testausgabe: wird nicht ausgegeben
}
}
}
}
if ($c == 'okay')
{
$fotopath = '../../../images/newsletter/';
$newname = $datum.'.jpg';
if (isset($_FILES['datei']))
{
// Upload-Status
if ($_FILES['datei']['error'] == UPLOAD_ERR_OK)
{
$uploaddir = $fotopath;
// Temporäre Datei in Zielverzeichnis schreiben
move_uploaded_file($_FILES['datei']['tmp_name'],$uploaddir.$_FILES['datei']['name']);
// umbenennen der hochgeladenen Datei
rename($uploaddir.$_FILES['datei']['name'],$uploaddir.$newname);
}
}
seite2.php als Ausgabe:
PHP-Code:
if ($c == 'okay')
{
echo '<img src="'.$foto.'" align="left" /> '.$text;
}
wie in den Kommentaren zu seite2.php ersichtlich, komme ich schon in die 2. IF-Abfrage gar nicht rein.
Ich verstehe es nicht. Das gleiche Script läuft unter PHP4 problemlos.
Weiss hier jemand einen Rat?