Animation während Hochladen?
Silvia Zeiss-Ribbe
- php
0 Tom1 EisFuX1 Steel
0 Sven Rautenberg
Hallo,
ich verwende ein recht einfaches Skript zum Hochladen von Dateien:
<?php
if($_REQUEST['Send'])
{
if($_FILES['Datei']['tmp_name'])
{
echo"Ihre Datei ("",
$_FILES['Datei']['name'],
"") ist ",
$_FILES['Datei']['size'],
" Bytes groß.";
move_uploaded_file($_FILES['Datei']['tmp_name'], "upload/".$_FILES['Datei']['name']);
}
else
{
echo"Bitte geben Sie eine Datei an!";
}
}
else
{
?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>
</body>
</html>
<?php
}
?>
Jetzt ist es aber so, dass nach dem Klick auf "Upload" die Seite so "stehen bleibt", erst wenn der Upload abgeschlossen ist, wird die Seite neu geladen.
Gibt es eine - einfache - Möglichkeit, WÄHREND des Hochladens eine GIF-Animation einzubinden?
Grüße
Hello,
ich verwende ein recht einfaches Skript zum Hochladen von Dateien:
<?php
if($_REQUEST['Send'])
Warum nicht if(isset($_POST['send')) ?
{
if($_FILES['Datei']['tmp_name'])
warum nicht if (isset($_FILES[$formfieldname]['error'] and $_FILES[$formfieldname]['error'] === 0) ?
move_uploaded_file($_FILES['Datei']['tmp_name'], "upload/".$_FILES['Datei']['name']);
Nett, dass Du auch das Hochladen von PHP-Scripten (uns sonstigen Executables) gestattest.
Du weißt hoffentlich, dass es Batterien von Spam-Robots gibt, die nichts anders machen, als schlcht gemachte Uploadscript zu suchen, um dann gut gemachte Scripte einzuschleusen, um damit im Anschluss den Host übernehmen zu können? Die Scripte sind dann natürlich wieder verschwunden, aber dafür hast du einen wunderbaren Daemon auf deinem Host, derDir auch normalerweise nicht auffallen wird.
Jetzt ist es aber so, dass nach dem Klick auf "Upload" die Seite so "stehen bleibt", erst wenn der Upload abgeschlossen ist, wird die Seite neu geladen.
Gibt es eine - einfache - Möglichkeit, WÄHREND des Hochladens eine GIF-Animation einzubinden?
Das ginge nur über eine aktive Client-Komponente, wie z.B. Flash oder über einen "Ajax"-Request, der vor dem Upload ausgelöst wird.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
(Hallo|Hi(ho)|Tag) Silvia Zeiss-Ribbe,
ich verwende ein recht einfaches Skript zum Hochladen von Dateien:
<?php
...
?><html>
...
?>
Jetzt ist es aber so, dass nach dem Klick auf "Upload" die Seite so "stehen bleibt", erst wenn der Upload abgeschlossen ist, wird die Seite neu geladen.
Gibt es eine - einfache - Möglichkeit, WÄHREND des Hochladens eine GIF-Animation einzubinden?
Mein Browser zeigt während eines Uploads eine "Animation" inklusive der hochgeladenen
Datenmenge. So gesehen kann ich auf solchen Schnick-Schnack verzichten.
;-)
Der Dateiupload in PHP wird intern gehandled. Wenn du auf $_FILES zugreifen kannst, ist alles schon vorbei. Die Datei ist
oben. Wenn du direkt nach dem Aktivieren des Submit-Buttons im Browser was anzeigen willst, benötigst du JavaScript.
Damit kannst du dann irgendeine (animierte GIF-)Grafik einbinden.
Willst du genauere Informationen (die Menge der hochgeladenen Daten) anzeigen, gibts in PHP keine einfache Lösung -- zumindest
kenne ich keine. Die gängigen Lösungen sind:
1. Es wird ein Perl-Script zum Upload benutzt. In Perl wird der Dateiupload über das Modul CGI erledigt. Dies erlaubt die
Angabe einer so genannten Hook-Funktion, die Daten über den Upload liefern kann.
2. Seit PHP 5.2 kann man eine spezielle Extension einbinden, die Rückmeldungen über den Upload liefern kann:
http://pecl.php.net/package/uploadprogress
3. Ältere PHP-Versionen kann man eventuell patchen, damit sie Upload-Rückmeldung geben können:
http://bluga.net/projects/uploadProgressMeter/
Alle drei Methoden benötigen auf der Client-Seite einen Browser der mit
Remote-Scripting (im Volksmund als AJAX bekannt) ansteuerbar ist, damit
dieser die Upload-Informationen auch abfragen kann.
MffG
EisFuX
Hiho!
Alle drei Methoden benötigen auf der Client-Seite einen Browser der mit
Remote-Scripting (im Volksmund als AJAX bekannt) ansteuerbar ist, damit
dieser die Upload-Informationen auch abfragen kann.
Was laeuft denn bei Dir unter Volksmund? Das Volk versteht unter Ajax was zum Saubermachen... ;)
(Hallo|Hi(ho)|Tag) Steel,
Remote-Scripting (im Volksmund als AJAX bekannt) ansteuerbar ist,
Was laeuft denn bei Dir unter Volksmund? Das Volk versteht unter Ajax was zum Saubermachen... ;)
Keine Ahnung, der Web-Developer-Volksmund? Ich habs ja auch extra mit Großbuchstaben geschrieben ... ;-)
MffG
EisFuX
Na gut... Developervolk... Lass ich mal durchgehen. (obwohl es so ja nicht grad freundlich klingt)
(Hallo|Hi(ho)|Tag) Steel,
Na gut... Developervolk... Lass ich mal durchgehen. (obwohl es so ja nicht grad freundlich klingt)
*hust*
http://de.wikipedia.org/wiki/Volksmund
»2. ... bezieht man sich mit dem Ausdruck „Volksmund“ oder mit der Wendung „dem Volk aufs Maul geschaut“ allerdings viel häufiger speziell auf gern gebrauchte, oft besonders treffende oder beliebte Einzelausdrücke oder Schlagworte, Sentenzen und Sprüche aller Art, allgemein übliche oder stehende Redewendungen („geflügelte Worte“), insbesondere Sprichwörter, Volks- oder Lebensweisheiten, ...«
Das drückt in etwa aus, wie ich es gemein hatte ...
Google.de meint übrigens, dass das gemeine nicht-webdevelopende Volk, das
nach "AJAX" sucht, sich für Fußball interessiert:
http://www.google.de/search?hl=de&q=AJAX
MffG
EisFuX
Moin!
Jetzt ist es aber so, dass nach dem Klick auf "Upload" die Seite so "stehen bleibt", erst wenn der Upload abgeschlossen ist, wird die Seite neu geladen.
Gibt es eine - einfache - Möglichkeit, WÄHREND des Hochladens eine GIF-Animation einzubinden?
Das direkt nicht, aber du kannst onsubmit was einblenden.
Ansonsten hat dein Skript ja keinerlei Sicherheitschecks! Echt übel!
- Sven Rautenberg