Hallo,
ich habe folgenden PHP-Code aus selfphp in meinen Code übernommen.
PHP-Code:
<?php
// Prüfen des Arrays $_FILES
if (isset($_FILES["datei"])) {
// Upload-Status
if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) {
// Muster zur Überprüfung der im Dateinamen
// enthaltenen Zeichen (Optional)
$regExp = "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";
// Dateiname und Dateigröße
if (preg_match($regExp,$_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 100000) {
// Temporäre Datei in das Zielverzeichnis
// des Servers verschieben.
move_uploaded_file($_FILES["datei"]["tmp_name"],"shots/".$_FILES["datei"]["name"]);
// Redirect zur Erfolgsmeldung
header("Location: status.html");
}
else {
echo "Fehler: Im Dateinamen oder Dateigrössen Limit!";
}
}
else {
echo "Fehler: Während der Übertragung aufgetreten!";
}
}
else {
echo "Fehler: Dateiupload fehlgeschlagen!";
}
?>
Der Deiteiupload funktioniert ohne Probleme. Wenn ich jetzt aber die Datei "t'es't.pdf" uploade, kommt keine Fehlermeldung sondern nur der Dateiname "tt.pdf". Die Funktion preg_match($regExp greift nicht. Auch ein einfaches str_replace bringt keine Änderung. Gibt es eine Möglichkeit das Zeichen ' zu ersetzen oder einfach zu löschen?
Dieser Code wird aus javascript mit "document.getElementById('formName'+obj.name).submit();" aufgerufen.
Danke
Der Macs