Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
beim upload ein size limit hinzufügen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
beim upload ein size limit hinzufügen


 
Duffi18
09-09-2003, 15:07 
 
Hallo!
Kann mir bitte jemand sagen, wie ich in dem upload Script ein Size Limit für Dateien einbau? Danke.

(Hab noch versucht den Script Farbig umzuwandeln - hab das aber nicht hinbekommen)

<?
// Bild klein
$K_MB = 98; // breite
$K_MH = 74; // höhe

// Bild gross
$G_MB = 330; // breite
$G_MH = 248; // höhe

if (!isset($abdiepost))
{
?>
<FORM ENCTYPE="multipart/form-data" ACTION="<?PRINT $PHP_SELF;?>" METHOD=POST>
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="70000">
Bild von der Festplatte:
<INPUT NAME="UPLOADPIC" TYPE="file"><br>
Einsetzen an der Stelle
<INPUT TYPE="TEXT" NAME="pic">
(z.B.: 01, 02, 10,...)<br>
<INPUT TYPE="submit" NAME="abdiepost" VALUE="Send File">
</FORM>
<?
}
else
{

$k_size = getimagesize ("$UPLOADPIC");
$g_size = getimagesize ("$UPLOADPIC");

$G_UPLOADPIC = "$UPLOADPIC";
$K_UPLOADPIC = "$UPLOADPIC";

// Schauen wir mal, ob wir das Bild verkleinen müssen
// Zuerst ob die maximale Breite nicht überschritten wird

// Verarbeitung kleines Bild
if ($k_size[0] < $K_MB)
{
// Also die Breite passt, da müssen wir nix tun
$K_NB = $k_size[0];
$K_NH = $k_size[1];
}
else
{
// Jetzt ist also Handlungsbedarf
// Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
$ProportionFaktor = $k_size[0] / $K_MB;
$K_NB = $K_MB;
$K_NH = round($k_size[1] / $ProportionFaktor);
}

// Verarbeitung grosses Bild
if ($g_size[0] < $G_MB)
{
// Also die Breite passt, da müssen wir nix tun
$G_NB = $g_size[0];
$G_NH = $g_size[1];
}
else
{
// Jetzt ist also Handlungsbedarf
// Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
$GProportionFaktor = $g_size[0] / $G_MB;
$G_NB = $G_MB;
$G_NH = round($g_size[1] / $GProportionFaktor);
}

// So das mit der Breite hätten wir, nun die Höhe

// Verarbeitung kleines Bild
if ($K_NH < $K_MH)
{
// Also die Hoehe passt, da müssen wir nix tun
}
else
{
// Jetzt ist also Handlungsbedarf
// Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
$ProportionFaktor = $K_NH / $K_MH;
$K_NH = $K_MH;
$K_NB = round($K_NB / $ProportionFaktor);
}

// Verarbeitung grosses Bild
if ($G_NH < $G_MH)
{
// Also die Hoehe passt, da müssen wir nix tun
}
else
{
// Jetzt ist also Handlungsbedarf
// Also berechnen wir den Faktor, damit wir auch die Höhe hinkriegen
$GProportionFaktor = $G_NH / $G_MH;
$G_NH = $G_MH;
$G_NB = round($G_NB / $GProportionFaktor);
}

// Und jetzt geht es munter weiter <img src="images/smilies/biggrin.gif" border="0" alt="">

// Verarbeitung kleines Bild
if ($k_size[0] == $K_NB && $k_size[1] == $K_NH)
{
$UPLOADPIC_name = "$pic-klein.jpg";
// Da mußte das Bild nicht verkleinert werden
copy ($K_UPLOADPIC, "images/klein/$UPLOADPIC_name");
//echo "$pic-klein.jpg = pic<br>Das Bild mußte für die Vorschau nicht verkleinert werden. Es ist wahrscheinlich zu klein!<br><hr>";
}
else
{
$UPLOADPIC_name = "$pic-klein.jpg";
// Hier wird PIC verkleinert und gespeichert
$td=imageCreate($K_NB, $K_NH);
$ts=imageCreateFromJPEG($K_UPLOADPIC);
imagecopyresized($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
imageJPEG($td,"images/klein/$UPLOADPIC_name");
echo "$pic-klein.jpg = pic<br>Bild für Vorschau verkleinert..... ok<br><hr>";
}


// Verarbeitung grosses Bild
if ($g_size[0] == $G_NB && $g_size[1] == $G_NH)
{
$UPLOADPIC_name = "$pic-gross.jpg";
// Da mußte das Bild nicht verkleinert werden
copy ($G_UPLOADPIC, "images/gross/$UPLOADPIC_name");
echo "$pic-gross.jpg = pic<br>Das Bild hat die richtigen Maße..... ok";
}
else
{
$UPLOADPIC_name = "$pic-gross.jpg";
// Hier wird PIC verkleinert und gespeichert
$td1=imageCreate($G_NB, $G_NH);
$ts1=imageCreateFromJPEG($G_UPLOADPIC);
imagecopyresized($td1, $ts1, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
imageJPEG($td1,"images/gross/$UPLOADPIC_name");
echo "$pic-gross.jpg = pic<br>Bild für normale Ansicht verkleinert..... ok";
}
}
?>

 
XGremliN
09-09-2003, 15:56 
 
Moin.

Die zulässige Dateigröße bestimmst du mit dem maxlength - Attribut.
Ungefähr so:

<input name="Datei" type="file" maxlength="100000" accept="text/*">

Im obigen Beispiel darf die Datei nicht größer als 100000 Byte sein.

So etwas findet man ganz schnell im SelfHTML!!!
Zumal du ja schon das input-Feld hattest!!!

 
Magic-King
09-09-2003, 16:00 
 
Das kannst du mit dem Befehl filesize($datei)... herausfinden... die Ausgabe erfolgt in Byte

 
wahsaga
09-09-2003, 16:03 
 
Original geschrieben von XGremliN
Die zulässige Dateigröße bestimmst du mit dem maxlength - Attribut.
So etwas findet man ganz schnell im SelfHTML!!!
Zumal du ja schon das input-Feld hattest!!!
wenn du schon selfhtml zitierst, dann solltest du einen solch elementaren satz nicht weglassen:

Beachten Sie jedoch, dass diese Angabe mit Vorsicht zu genießen ist. In der HTML-Version 3.2 wurde es so bestimmt, in der Version 4.0 wird diese Funktionalität beim maxlength-Attribut dagegen nicht mehr erwähnt. Verlassen Sie sich also nicht auf diese Angabe. Sicherer ist es, bei der Weiterverarbeitung mit einem CGI-Script im Script die Dateigröße zu ermitteln und das Script davon abhängig entscheiden zu lassen, ob die Datei akzeptiert oder verworfen wird.

 
goth
09-09-2003, 16:08 
 
Und wiedereinmal mein Lieblingsgrundprinzip: "Never trust incomming Data!" ...

 
Duffi18
09-09-2003, 17:10 
 
maxlength="" - das ist zwar ganz nett, aber das funktioniert ja ziemlich selten. Ich habe das ausprobiert und es hat regelrecht nach Lust und Laune funktioniert.

 
TobiaZ
09-09-2003, 19:24 
 
tja, dann also wie geschrieben mit dem filesize, oder direkt aus dem $_FILES-Array

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:50 Uhr.