Datei Upload Tuning

votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Hallo, hat diese Funktion schon jemand mit 4.6.8.4 zum laufen gebracht? Suche eine einfache Möglichkeit, beim Upload die Bilder direkt zu verkleinern damit kein DAU ein 4MB Foto hochläd....

Leider läuft diese Version mit 4.6.8 nicht. Danke.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Die Version von swelpot (include.chain.upload.upload_preprocess.php) sollte auch mit V4.6.8 funktionieren (siehe vorherige Seite).

Es sei erwähnt, dass die Änderung nicht das Hochladen der Datei verhindert, sondern nur einen entsprechenden Upload verkleinert.

Wenn die Dateigröße überprüft werden soll, dürfte es aufwendiger werden, da der Code dazu m.W. in der DB gespeichert ist.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

HerrB, habe die Version von swelpot bereits getestet gahbt. Kriege einen Fehler (auch im Frontend):

[09-May-2006 14:46:40] PHP Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web99/html/contenido/plugins/chains/includes/include.chain.upload.upload_preprocess.php:69) in /srv/www/htdocs/web99/html/conlib/session.inc on line 487

Habe daraufhin angenommen, dass die Version nicht mit 4.6.8 läuft. Haben Sie eine gute Idee woran es liegen kann? Danke!
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

es steht in der fehlermeldung

output started at /srv/www/htdocs/web99/html/contenido/plugins/chains/includes/include.chain.upload.upload_preprocess.php
bei zeile 69

die datei muss mit ?> aufhören... kein leerzeichen oder zeilenumbruch darf sich danach befinden...
*** make your own tools (wishlist :: thx)
swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot »

hi,

das sieht mir eher danach aus, als wäre da ein Linebreak oder Leerzeichen vor oder nach den php-Tags zuviel.

die Datei muss direkt mit "<?" beginnen und unmittelbar nach "?>" enden...
Grüße

Stefan
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Hallo,
Nein, habe nochmals alles geprüft. Auch Ultraedit zeigt keinen Break/CR/LF oder Syntaxfehler.
Kann es an Php 4.3.1 liegen? Habe schon bei anderer Gelegenheit einige Probleme mit dieser 'alten' Version gehabt...Gruss & Dank.
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Ups...da war tatsächlich nach dem "?>" ein Blank. Nachdem ich es entfert habe klappt nun das Resize auch im 4.6.8. Danke für deinen Tipp, swelpot/emergence.
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Hallo,
das mit dem Resize funktioniert unter 4.6.8, aber "normale" Dateien lassen sich nicht mehr laden.

Der Fehler: [14-May-2006 12:51:42] PHP Warning: rename(,/srv/www/htdocs/web99/html/cms/upload/1-1.pdf) [<a href='http://www.php.net/function.rename'>function.rename</a>]: Datei oder Verzeichnis nicht gefunden in /srv/www/htdocs/web99/html/contenido/includes/include.upl_files_overview.php on line 177

Irgendie ist die Variabel $tmp_name im include.upl_files_overview nicht gesetzt wenn die Chain aktiviert ist. HerrB/emergence, haben Sie eine lösende Idee?
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Was sind denn "normale" Dateien?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Alles andere als Grafikdateien die "Resized" werden. Sprich bspw. Word, Excel, PDF, Text.
Sofern die Datei "resized" wird läufts, falls es keines des im include.chain.upload.upload_preprocess.php definierten Typ's ist, erhalte ich den Fehler und die Datei wird nicht auf den Server hochgeladen.
Danke für Eure Hilfe.
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ja, kann sein.

Mal diesen Teil ersetzen:

Code: Alles auswählen

$filetype = strtolower(substr($tmp_name, strlen($tmp_name) -4, 4)); 
    if(strcmp(".gif", $filetype) == 0 || 
       strcmp(".png", $filetype) == 0 || 
       strcmp(".jpg", $filetype) == 0 || 
       strcmp("jpeg", $filetype) == 0 
    ) { 
       $newFilename = capiImgScale($tmp_name, $maxBildbreite, $maxBildhoehe, false, false, 1, true); 
    } 
    $newFilename = str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $newFilename); 
    return $newFilename; 
  } 
durch

Code: Alles auswählen

$filetype = strtolower(substr($tmp_name, strlen($tmp_name) -4, 4)); 
    if(strcmp(".gif", $filetype) == 0 || 
       strcmp(".png", $filetype) == 0 || 
       strcmp(".jpg", $filetype) == 0 || 
       strcmp("jpeg", $filetype) == 0 
    ) { 
       $newFilename = capiImgScale($tmp_name, $maxBildbreite, $maxBildhoehe, false, false, 1, true);
    $newFilename = str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $newFilename);
    } else {
       $newFilename = $tmp_name;
    }
    return $newFilename; 
  } 
Ungetestet.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Hallo HerrB, herzlichen Dank für Ihr Feedback. Scheint soweit zu klappen. Übergrosse GIF's,JPG's werden auf die gewünschte grösse Resized, alle anderen Dateien werden unkomprimiert geladen.
Werde jetzt nochmals ausführlicher testen, aber soweit sieht es schon mal sehr gut aus! Danke viel mals!!!!!!!!
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Hallo,

habe ein Problem festgestellt: Wenn man nun mehrere grosse Dateien hoch zu laden versucht, bricht der Resize ab und man wird zum Login Screen von Contenido weitergeleitet. Ist abhängig von der Bildgrösse und Anzahl der Uploads. Hat HerrB eine Idee? Liegt wohl an der "Memorygrösse"....

Wäre für einen Hinweis dankbar.
PS: Die Funktion hat sich sehr bewährt!
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Mit der Größe wird es weniger zu tun haben, sondern mehr mit der benötigten Zeit - die Session wird ablaufen.

Verlängere mal die Session-Dauer für das Backend (siehe http://www.contenido-faq.de, ggf. Contenido-Version beachten).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
votapero
Beiträge: 63
Registriert: Do 9. Mär 2006, 15:04
Kontaktdaten:

Beitrag von votapero »

Das kanns eigentlich nicht sein. Ich habe schon seit langem den Timeout auf 60 Minuten gestellt (was auch funktioniert). Aber vor allem kommt der Login Screen bereits nach ca. 2, 3 Minuten.

Wie gesagt geht der Upload mit 4, 5 Dateien a 2 MB. Mehr geht nicht.
Gesperrt