Hi Ihr!
Ich schreibe ein kleines Upload-Script mit dem man ein Thumbnail auf einen Server hochladen kann. Falls eine Datei mit dem selben Namen schon vorhanden ist, zeige ich nach dem Upload eine Vorschau des noch gespeicherten Bildes und frage dann mit 2 Form-Buttons, ob der User es überschreiben will. Beim Klick auf den Überschreiben-Button wird das Script neu aufgerufen und mit einem if prüfe ich, ob das jetzt eine Überschreiben-Aktion ist. Da aber das Script eben neu aufgerufen wird, weiss ich nicht wie ich dem erneuten Scriptaufruf das neue Bild zum Überschreiben mitgeben soll. Hier mal mein Code, er besteht aus 2 Dateien: Index.html, der Einstieg mit dem Uploader, und upload.php wo die Upload-Logik drin stattfinden soll.
Index.html
upload.php
Zur Erklärung: Das erste If prüft, ob das Script per Overwrite-Button aufgerufen wird. Wenn ja, sollte nun das alte Bild überschrieben werden.
Falls das Script nicht per Overwrite Button aufgerufen wird, wurde es von index.html mit einer Datei aufgerufen, die ich jetzt im else-Block verarbeite.
Ich prüfe dabei auf den Dateityp und schaue, ob die Datei schonmal vorhanden ist. Wenn nein, wird die Datei gespeichert, wenn ja, wird der User per Buttons vor die Wahl gestellt abzubrechen oder eben zu überschreiben.
Vielen Dank für eure Mühen!
Gruß,
orkano
Ich schreibe ein kleines Upload-Script mit dem man ein Thumbnail auf einen Server hochladen kann. Falls eine Datei mit dem selben Namen schon vorhanden ist, zeige ich nach dem Upload eine Vorschau des noch gespeicherten Bildes und frage dann mit 2 Form-Buttons, ob der User es überschreiben will. Beim Klick auf den Überschreiben-Button wird das Script neu aufgerufen und mit einem if prüfe ich, ob das jetzt eine Überschreiben-Aktion ist. Da aber das Script eben neu aufgerufen wird, weiss ich nicht wie ich dem erneuten Scriptaufruf das neue Bild zum Überschreiben mitgeben soll. Hier mal mein Code, er besteht aus 2 Dateien: Index.html, der Einstieg mit dem Uploader, und upload.php wo die Upload-Logik drin stattfinden soll.
Index.html
Code:
<body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"><br> <input type="submit" value="Hochladen"> </form> </body>
PHP-Code:
<?php
if (isset($_POST['overwrite'])){
//hier müsste das alte Bild jetzt überschrieben werden
} else {
$uploaddir = 'pics/';
$type = $_FILES['file']['type'];
if ($type=='image/png'){
$filename = $_FILES['file']['name'];
$uploaddir = $uploaddir.basename( $_FILES['file']['name']);
if (file_exists($uploaddir)) {
print "<font color='#FF0000'><b>$filename already exists. Really overwrite?</b></font> ";
print "<p><img src=".$uploaddir." alt=".$uploaddir."></p>";
echo '<form action="upload.php" method="post"><input type="submit" value="Überschreiben" name="overwrite"></form><form action="index.html" method="link"><input type="submit" value="Abbrechen" name="cancel"></form>';
} else {
echo $_FILES['file']['name']."<br>";
move_uploaded_file ( $_FILES['file']['tmp_name'] , $uploaddir);
echo "<font color='#00FF00'><b>Upload successfull.</b></font> ";
echo "<a href='./index.html'>Go back.</a>";
}
} else {
echo "<font color='#FF0000'><b>Please upload a png file.</b></font> ";
echo "<a href='./index.html'>Go back.</a>";
}
}
?>
Falls das Script nicht per Overwrite Button aufgerufen wird, wurde es von index.html mit einer Datei aufgerufen, die ich jetzt im else-Block verarbeite.
Ich prüfe dabei auf den Dateityp und schaue, ob die Datei schonmal vorhanden ist. Wenn nein, wird die Datei gespeichert, wenn ja, wird der User per Buttons vor die Wahl gestellt abzubrechen oder eben zu überschreiben.
Vielen Dank für eure Mühen!
Gruß,
orkano
Kommentar