upload

Alles, was den Apache betrifft, kann hier besprochen werden.

upload

Postby Manni » 04. November 2004 16:38

Hallo

möchte mittels diesem einfachen html Code Dateien auf meine HP laden. Die Dateien kommen aber nicht an. Wo könnte das Problem sein? Muss ich dem Ordner in der Conf Schreibrechte geben? FTP kann man vergessen, ist in der Arbeit gesperrt.

gruss & danke

<form action="Upload erfolgreich.htm" method="post" enctype="multipart/form-data">
&nbsp; <b>Datei: </b><input type="file" name="datei" size="16"> <input type="submit" value="Upload">
</form>
User avatar
Manni
 
Posts: 31
Joined: 19. July 2003 22:09

Postby H0MER » 05. November 2004 13:52

hi ..
das problem bei deinem script ist, das die datei zwar temporär hochgeladen wird, die datei nach dem das script abgearbeitet ist wieder gelöscht wird.
du solltest jetzt noch eine abfrage machen, ob dein submit gesetzt wurde und wenn das passiert ist soll die tmp datei in die datei mit gleichen namen deiner ursprungsdatei kopiert werden.

das würde dann in etwa so aussehen:
(ist nur schnell hingeklatscht ... wird so sicher nich funktionieren)

Code: Select all
if(!empty($file_name])){
   copy($file,$file_name))
}

mfg
H0MER
H0MER
 
Posts: 53
Joined: 11. June 2003 17:30

Postby adi99 » 05. November 2004 13:52

Hi
Das geht so nicht. Du musst den link auf eine PHP datei oder etwas linken, der die Datei dann erstellt.

--> verschieben nach PHP

EDIT: Da war ich wohl zuspät :-(
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby Manni » 06. November 2004 04:30

Hi

sorry, aber ich kann mit Euren Antworten nicht das geringste anfangen.

gruß & danke
User avatar
Manni
 
Posts: 31
Joined: 19. July 2003 22:09

Postby Wiedmann » 06. November 2004 09:44

Hi Manni,

um es nochmal auf den Punkt zu bringen:
Mit HTML alleine kannst du keinen Dateiupload zum Server machen. Das Formular das du in HTML erzeugst, benötigt als Ziel (action=) ein Script, dass den Dateiupload auch verarbeiten kann. Dieses Script kann dann z.B. in PHP oder Perl geschrieben sein.

Für PHP mal folgende 2 Links zum nachlesen:
PHP-Manual: Kapitel 34. Steuerung von Dateiuploads
de.comp.lang.php.* FAQ: 11.11. Wie funktioniert ein Datei-Upload über HTML-Formulare?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Perlscript

Postby MCDaweed » 06. November 2004 14:15

Ich habe mal schnell ein Script verfasst welches Dateien per Perl auf deinen Server läd

Code: Select all
#!/usr/bin/perl

print "Content-type: text/html\n\n";

use CGI;
use CGI::Carp qw(fatalsToBrowser);
use File::Copy;

my $cgi = new CGI;
my $file = $cgi->param("UploadFile");
my $filesize = -s $file1;
my $curDir = $cgi->param("CurrentDirectory");

if($filesize < 20*1024*1024)
{
  copy($file, $curDir.$file)
}


Ich habe die Dateigröße auf 20 MB begrenzt das kannst du natürlich ändern. Das Script erwartet die Parameter "UploadFile", welches die Datei die zu hochladen gilt enthält und "CurrentDirectory" welches das Verzeichnis enthält. Die passende HTML Date:

Code: Select all
<html>
<body>
  <form action="upload.pl" method="post" enctype="multipart/form-data">
    <input size=70 type="file" name="UploadFile"><br>
    <input type="hidden" name="CurrentDirectory" value="">
    <input type="submit" value="hochladen">
  </form>
</body>
</htmL>


Denk dran dass du dem Perlscript Ausführungsrechte seztst wenn du den Server unter Linux betreibst. Und in ein Verzeichnis legst in dem dio Option "exec" gestetzt ist (In httpd.conf). Dann müsste es klappen (Habs ausprobiert". Wenn du interesse hast schicke ich dir mal einen HTML-Upload-Interface, was ich mal erstellt habe. Da kannst du dann richtig in den Ordnern Browsen und Einstallungen treffen. ICh hoffe das Hilft dir weiter. :wink:
Während man in Villa Redmond noch bootet iwrd in Villa Linux schon gearbeitet
MCDaweed
 
Posts: 5
Joined: 06. November 2004 13:40

Postby Manni » 10. November 2004 02:29

hi McDaweed

soweit ich das check, läuft das Script. Als Problem sehe ich noch, dass die Datei nach dem Upload nicht mit dem Originalnamen auf der Platte steht.

gruss & danke
User avatar
Manni
 
Posts: 31
Joined: 19. July 2003 22:09

welcher anderer name?

Postby MCDaweed » 10. November 2004 20:23

Hmmm, komisch, bei mir machts den richtigen Namen...,
Wie heißt die Datei denn nach dem Upload?
Ich hab übrigends mal ein HTML-Upload-Interface programmier, was es möglich macht auf die Dateien und Ordner deines Servers , so ähnlich wie mit dem Explorer/Konqueror zuzugreifen . Wenn du interesse hasst kann ich dir die nötigen Datein mal schicken. Damit kannst du dann auch löschen, Dateieigenschaften auslesen und festlegen und Verzeichnisse zu erstellen - und as ohne ein Programm und von überall.
Während man in Villa Redmond noch bootet iwrd in Villa Linux schon gearbeitet
MCDaweed
 
Posts: 5
Joined: 06. November 2004 13:40

Re: welcher anderer name?

Postby Manni » 13. November 2004 05:49

MCDaweed wrote:Hmmm, komisch, bei mir machts den richtigen Namen...,
Wie heißt die Datei denn nach dem Upload?


die Datei nennt sich dann - CGItemp62262. Wichtig ist nur das CGItemp, die Zahlen dahinter sind variabel.

Zwecks Deinem html-Interface schreib ich Dir für meine Addy eine PM

gruss & danke
User avatar
Manni
 
Posts: 31
Joined: 19. July 2003 22:09


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests