Leser: 17
2009-08-19T15:03:10 FroschpopoWeil deine mir unbekannte Linux-Distrie das so ausliefert.dass /etc/apache2/mime.types keinen Eintrag für multipart/form-data enthält?
Warum ist dieser Typ dort nicht enthalten?
1
2
3
4
5
6
<Directory "/srv/www/meineseite.de/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#/usr/bin/perl use warnings; use strict; use CGI; $CGI::POST_MAX = 1024 * 100; $CGI::DISABLE_UPLOADS = 0; my $cgi = new CGI; my $fh = $cgi->upload('file'); my $fn = $cgi->param('file'); print $cgi->header; print "Dateiname: ", $fn; # Zeigt den Dateiname korrekt an!!!! my $bin_data = 0; for (<$fh>) { $bin_data .= $_; } my $size = length($bin_data); print "Filesize: ", $size; # 0 <--------------------------------
1
2
3
4
<form action="/cgi-bin/test.pl" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
2009-08-19T16:20:40 FroschpopoKönnte es sein, dass ich keine Zugriffsrechte auf den Cache von $CGI::upload() habe? Und wo befindet sich dieser? Aber normalerweise ist sowas ja schon standardmäßig korrekt eingestellt.
2009-08-19T17:02:57 FroschpopoIst /etc/mime.types nicht vorhanden. Ist die unter /etc/apache2/mime.types und /etc/mime.types unterschiedlich?ob ich für multipart/form-data evtl. extra etwas installieren muss, habe aber nichts gefunden
2009-08-19T18:09:27 Froschpopomod_suexec muss geladen werden.zumindestens ist suexec so konfiguriert, dass er, wie oben bereits geschrieben, wwwrun als HTTP-User nutzt. Aber wie erfahre ich ob suexec2 auch in diesem Fall aktiv wird?
$CGI::close_upload_files(0);
CGI::close_upload_files(0);
2009-08-19T15:56:00 GwenDragonWenn auf meinem System $CGI::DISABLE_UPLOADS auf 0 steht, wird auch kein Fehler beim Upload mit CGI::cgi_error geworfen. Das könnte auch bei dir so gewesen sein.$CGI::DISABLE_UPLOADS # sollte 0 sein
2009-08-19T15:03:10 FroschpopoIch konnte jedoch herausfinden, dass $CGI::upload() offenbar leer ist bzw. KEIN FIlehandle enthält. CGI::param() funktioniert einwandfrei.