Autor |
Nachricht |
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst Di 11.05.2004 08:41
Titel ftp-uploadscript |
|
|
servus...
ich hab für einen kunden ein kleines cms gebastelt mit dem er seine produktkataloge online stellen kann. das ganze geschieht über ein kontaktformular via http-upload. das klappt auch soweit wenn die dateien nicht größer als 2 mb sind. auf dem server ist wohl max_filesize auf 2 MB begrenzt. Der Server ist aber son standardteil von puretec, weshalb ich bezweifle das eine e-mail dortin mit der bitte diesen wert in der php.ini zu ändern wohl eher ungehört verhallen wird.
nun hab ich ein bischen im netz gesucht und bin beim ftp-upload hängen geblieben. aber ich hab irgendwie kein rechtes script gefunden das das funzt. also für den kunden soll sich vom prozedere nix ändern (ich will nicht von ihm verlangen das er selbst mit nem ftp-proggi arbeitet). d.h. das ganze müsste serverseitig passieren.
kann mir jemand von euch (am besten mit ein paar zeilen funktionierendem code) erklären wie ich es schaffe, eingaben die über ein formular gemacht werden per ftp auf den server zu jubeln und dann dort in den entsprechend richtigen ordner zu kopieren?
thanx.
|
|
|
|
|
fyll
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Di 11.05.2004 09:17
Titel
|
|
|
mhh..
ich gib dir einfach das, das ich mal gefunden und daran ein bisschen rumgebastelt hab...
Hier mal die upload.pl:
Code: |
#!/usr/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
use CGI; # Modul fuer CGI-Programme
my $cgi = new CGI; # neues Objekt erstellen
# Content-type fuer die Ausgabe
print $cgi->header(-type => 'text/html');
# die datei-daten holen
my $file = $cgi->param("userfile");
my $name = $cgi->param("name");
# dateinamen erstellen und die datei auf dem server speichern
my $fname = $name;
open DAT,'>'.$fname or die 'Error processing file: ',$!;
# Dateien in den Binaer-Modus schalten
binmode $name;
binmode DAT;
my $data;
while(read $file,$data,1024) {
print DAT $data;
}
close DAT;
print "<html><head><title>Upload</title></head>\n";
print "<body style=\"margin-top:0px;margin-bottom:0px;\"><center>\n";
print "File hochgeladen oder so halt :-P\n";
print "</body>\n";
print "</html>\n";
|
und da das Formular dazu:
Code: |
<form target="leer" name="uploadform1" enctype="multipart/form-data" action="../../../cgi-bin/Uploads/upload.pl" method="post" onSubmit="upload()">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input name="userfile" type="file" size="33" mexlength="200">
<input type="hidden" name="name" value="!#FIID;.bild">
<img src="/bilder/leer.gif" height="7" width="1"><br><center><input type="submit" value=" UPLOAD "></center>
</form>
|
|
|
|
|
|
Anzeige
|
|
|
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst Di 11.05.2004 09:41
Titel
|
|
|
@ ferret - danke das test ich mal aus - wobei ich net weiss ob ich auf dem server cgi-scripte laufen lassen kann. hab bisher nur mit php dort gearbeitet.
aber bei der durchsicht ist mir aufgefallen das das script im grunde nix anderes macht als ich mit meinem schon vorhandenen php-script. das problem ist hier das serverseitig ein file_size_limit von 2 mb bei http-uploads besteht. wenn jetzt die datei größer ist funktioniert mein php-script nicht mehr (die hochgeladene datei wird nicht übermittelt und als variable bekomm ich dann none ausgegeben). deshalb wage ich mal zu bezweifeln das das cgi-script hier was anderes macht.
hat jemand noch ne idee wie das funzen könnte?
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 11.05.2004 09:44
Titel
|
|
|
damit vllt? http://de.php.net/ftp
ich hab hier grad keinen ftp server läufen, aber wäre sicher mal witzig da was zu
schreiben .. wobei schon denke dass das laufen wird, die ganzen webftp scripte
die in php geschrieben sind, packen ja auch mehr als 2MB
|
|
|
|
|
aUDIOfREAK
Threadersteller
Dabei seit: 04.04.2002
Ort: Ansbach
Alter: 44
Geschlecht:
|
Verfasst Di 11.05.2004 09:46
Titel
|
|
|
dastef hat geschrieben: | damit vllt? http://de.php.net/ftp
ich hab hier grad keinen ftp server läufen, aber wäre sicher mal witzig da was zu
schreiben .. wobei schon denke dass das laufen wird, die ganzen webftp scripte
die in php geschrieben sind, packen ja auch mehr als 2MB |
ich hab mir sagen lassen die ftp-funktion ist nur von server zu server - d.h. der server fungiert dabei als ftp-client der dann sich auf einem anderen ftp-account einloogt um dann daten zu übertragen. von einem browser aus funktioniert das nicht. die scripte die ich bisher so aufprobiert habe, arbeiten mehr oder weniger alle nach dem schema.
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 11.05.2004 09:51
Titel
|
|
|
hm würde mich wundern .. ich hab so nen ding zwar noch nie selber geschrieben
aber wie sollten sonst die ganzen webftp scripte ihren dienst tun?
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Di 11.05.2004 14:57
Titel
|
|
|
Also PHP arbeitet serverseitig, d.h. der Server stellt dann eine FTP-Verbindung zu einem anderen Server her und kann dann dort natürlich auch nur die Files hochladen, die auf dem Server mit dem Script liegen. Files vom Rechner zuhause müßten erst auf den Server.
Und das funktioniert halt wieder nicht, wenn das mit upload_max_filesize begrenzt ist. Das beißt sich die Katze in den Schwanz...
Du kannst allerdings versuchen, diese Einstellung zu erhöhen. Wenn dein Provider PHP nicht im Safe-Mode laufen läßt, dann schätze ich, daß Du die Einstellung mit ini_set() selber verändern kannst. Das hier könnte u.U. funktionieren: ini_set('upload_max_filesize','10MB');
Aber schau besser mal im PHP-Handbuch nach ini_set().
Ansonsten sehe ich nur die Möglichkeit, die Files zu komprimieren. Vermutlich ist auf dem Server zlib und bzip2 installiert. Dann könntest Du auch gezipte Files hochladen und auf dem Server entpacken.
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Di 11.05.2004 15:11
Titel
|
|
|
Beitrag gelöscht.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Suche Uploadscript in PHP
personalisiertes uploadscript
Formmailer + Uploadscript
Uploadscript - Ausgabe | Division by zero
Verzweifle langsam (Uploadscript)
brauche gutes Uploadscript
|
|