Datei Upload Tuning

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

Beitrag von votapero » Di 9. Mai 2006, 15:54

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 » Di 9. Mai 2006, 17:32

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 » Di 9. Mai 2006, 20:27

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: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 9. Mai 2006, 21:02

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 » Di 9. Mai 2006, 21:04

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 » Di 9. Mai 2006, 21:15

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 » Di 9. Mai 2006, 21:36

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 » So 14. Mai 2006, 11:56

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 » Mo 15. Mai 2006, 01:56

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 » Mo 15. Mai 2006, 06:12

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 » Mo 15. Mai 2006, 12:32

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 » Mo 15. Mai 2006, 14:05

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 » Fr 6. Okt 2006, 07:09

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 » Fr 6. Okt 2006, 16:24

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 » Fr 6. Okt 2006, 21:19

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