Hallo zusammen,
ich habe ein ganz normales Formular. Von diesem lade ich Dateien hoch, die sowohl auf dem Server gespeichert werden als auch als Link in die Datenbank für spätere weitere Funktionen. Das funktioniert auch super via Chrome, FireFox und IE.
Nur beim Safari funzt das nicht. Es speichert immer 0 Byte Dateien.
Hier einmal das Skript welches ich laufen habe. Vielleicht hat ja wer ne Ahnung was ich falsch gemacht haben könnte oder worauf ich achten muss bei dem kack Safari. Danke schon einmal im vorraus.
ich habe ein ganz normales Formular. Von diesem lade ich Dateien hoch, die sowohl auf dem Server gespeichert werden als auch als Link in die Datenbank für spätere weitere Funktionen. Das funktioniert auch super via Chrome, FireFox und IE.
Nur beim Safari funzt das nicht. Es speichert immer 0 Byte Dateien.
Hier einmal das Skript welches ich laufen habe. Vielleicht hat ja wer ne Ahnung was ich falsch gemacht haben könnte oder worauf ich achten muss bei dem kack Safari. Danke schon einmal im vorraus.
PHP-Code:
// HIER WIRD ZUNÄCHST DAS ARRAY GELADEN
// WENN DIE EXTENSION PASST WIRD DER INSERT IN DIE DB UND DER UPLOAD GEMACHT!
foreach ($_FILES["files"]['name'] as $key => $value) {
if(trim($value) != ''){
$acceptedFormats = array('gif', 'png','jpg','pdf','jpeg','odt','doc');
if(!in_array(pathinfo($value, PATHINFO_EXTENSION), $acceptedFormats)) {
#echo 'Error Datei nicht zulässig!';
}else{
//$fileName = $_FILES["files"]["name"][$i];
$fileName = $aktueller_datensatz.'-'.$value;
$new_fileName = 'blabliblupp.de/images/'.$fileName;
$ret[$fileName]= $output_dir.$fileName;
#print_r($ret);
move_uploaded_file($_FILES["files"]["tmp_name"][$key],$output_dir.$fileName );
$query = " INSERT INTO `DB`.`XXX_bilder` (`bild_id`, `bild_anfrage_nr`, `bild_name`, `bild_timestamp`)
VALUES (NULL, '$aktueller_datensatz', '$new_fileName', CURRENT_TIMESTAMP);";
$db_erg = mysqli_query( $db_link, $query );
}
}
}
Kommentar