Dateimanager: Upload Resize |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
Dateimanager: Upload Resize |
Thu. 30. April 2009, 10:02
Beitrag
#1
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 154 Mitglied seit: 03.07.2006 Mitglieds-Nr.: 91 |
Große Bilder können mit dem Hack per Upload auf einen vorgegebenen Pixelwert verkleinert werden. Kleinere Bilder als Vorgabe sind davon nicht berührt. Zudem wird mit dem Upload auch der Dateiname komplett kleingeschrieben und Sonderzeichen und Umlaute entfernt.
Bei mir läuft's prima. Lediglich mit transparenten png-Daten scheint es nicht so zurechtzukommen. So hab ich das einfach auskommentiert. Näheres siehe unten. Benutzung auf eigene Gefahr. In den Ordner backend/inc/ die Dateien "mod.upl_resize.php" und "inc.upl.php" reinladen bzw. letztere überschreiben. Ebenso im Ordner "backend/tpl/standard/" die Datei "filelist.tpl" überschreiben. Bei der Datei "inc.upl.php" sind am Ende der Datei die letzten paar Zeilen ab dem Kommentar hinzugefügt worden. QUELLTEXT // Upload Resize and Rename // by Felix Praschak - www.inallermunde.de - web@inallermunde.de include('mod.upl_resize.php'); Datei "filelist.tpl" Zeile 59: Pfadanpassung an das Projekt verzeichnis (wenn nicht im ROOT) mod_upl_resize.php QUELLTEXT //write relative path to file $img = '../media/'.$fm->get_directory_name($folder_kompl).$file_path; Zeilen 110 bis 112 hinzugefügt. Hier kann man die gewünschte Dateigröße festlegen (value = x). QUELLTEXT <!--BEGIN RESIZING--> Größe: <input name="newpicsize" type="text" value="600" size="5" maxlength="4" /> <!--END RESIZING--> In der Datei "mod.upl_resize.php" ganz am Schluß kann man angeben, für welches Dateiformat die Größenänderung angewandt werden soll. Im Moment ist nur JPG aktiviert, GIF und PNG ist auskommentiert. Datei "mod.upl_resize.php" Zeile 20: QUELLTEXT //set picture quality (0 - 100), default: 80 $quality = 80; Davelee hat angemerkt, dass bei ihm zu große Bilder (3072x2304) eine Fehlermeldung bringen. Wenn ich noch was anmerken soll, einfach melden. upload_resize.zip ( 13.53KB ) Anzahl der Downloads: 43 Gruß Rainer Der Beitrag wurde von paulinsche bearbeitet: Fri. 10. July 2009, 07:21 |
|
|
Thu. 30. April 2009, 11:14
Beitrag
#2
|
|
Advanced Member Gruppe: Moderators Beiträge: 911 Mitglied seit: 26.06.2006 Wohnort: Essen; Ruhrgebiet Mitglieds-Nr.: 4 |
Danke!
-------------------- |
|
|
Tue. 19. May 2009, 16:09
Beitrag
#3
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 328 Mitglied seit: 29.08.2006 Wohnort: Konstanz / Bodensee Mitglieds-Nr.: 216 |
Hallo Rainer,
bei mir werden die Bilder auf 5x5 Pixel verkleinert. Habe an deinen Dateien nichts geändert. Sefrengo Version 01.04.03 Gruss, Andreas |
|
|
Wed. 20. May 2009, 12:31
Beitrag
#4
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 170 Mitglied seit: 15.05.2007 Mitglieds-Nr.: 908 |
Hallo Rainer, bei mir werden die Bilder auf 5x5 Pixel verkleinert. Habe an deinen Dateien nichts geändert. Sefrengo Version 01.04.03 Gruss, Andreas Hi taturo, ich hatte das gleich Problem mit diesen änderungen hat es dann aber funktioniert |
|
|
Mon. 15. June 2009, 16:28
Beitrag
#5
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Hallo !
Der Hack funktioniert bei mir einwandfrei. Habe nur ein Problem im Backend, dass ich extrem (horizontal) scrollen muss. screenshot.JPG ( 32.94KB ) Anzahl der Downloads: 37 Kann man die Breite des Textfeldes "Grösse" nicht kleiner machen, dass man auch die Bearbeiten-Icons im Viewport hat ? Gruss Tsunami |
|
|
Mon. 15. June 2009, 17:36
Beitrag
#6
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 170 Mitglied seit: 15.05.2007 Mitglieds-Nr.: 908 |
Dürfte normalerweise nicht so breit sein da länge mit size="5" angegeben ist
Welchen browser verwendest du ? |
|
|
Mon. 15. June 2009, 18:06
Beitrag
#7
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Den FF 3.0.11
Habs auch kurz mal im IE7/IE8 getestet - dasselbe....leider |
|
|
Mon. 15. June 2009, 18:40
Beitrag
#8
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 170 Mitglied seit: 15.05.2007 Mitglieds-Nr.: 908 |
Vieleicht hängt es ja mit deinem vorigen Beitrag zusammen (Formularfelder formatieren)
Was sagt denn die developer toolbar ? ansonsten einfach eine CSS Eigenschaft hinzufügen |
|
|
Tue. 16. June 2009, 07:39
Beitrag
#9
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Ist nicht auf der gleichen Installation wie die Geschichte mit den Formularfeldern.
Hatte bei meiner Installation auf welcher ich den Upload-Hack teste aber noch SF 1.4.1 im Einsatz. Habe nun auf 1.4.3 geupdatet. Und jetzt funktioniert es einwandfrei mit der Darstellung des Textfeldes. Bedeutend kleiner als vorher |
|
|
Tue. 7. July 2009, 11:08
Beitrag
#10
|
|
Member Gruppe: Members Beiträge: 35 Mitglied seit: 20.09.2006 Wohnort: Graubünden Mitglieds-Nr.: 247 |
Hallo zusammen
Der Resize klappt bei mir ebenfalls toll! Danke viel Mals. Hatte das schon länger gesucht! Ich hatte ebenfalls diese Fehlermeldung bei sehr grossen Bildern. Da wir aber unsere eigener Provider sind, haben wir die Memory_limit in PHP von 32 auf 64 MB erhöht. Nun klappt auch dieser grosse Upload! Grüsse Silvan Der Beitrag wurde von silwue bearbeitet: Tue. 7. July 2009, 17:54 -------------------- ----------------------------------------------------------------------------------------------
Webdesign | Webhostaing von wembastaz gmbh Hosting zu super fairen Preisen - auch für dein Sefrengo-Projekt! ---------------------------------------------------------------------------------------------- |
|
|
Wed. 8. July 2009, 07:46
Beitrag
#11
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 236 Mitglied seit: 14.07.2006 Wohnort: Bad Oeynhausen Mitglieds-Nr.: 138 |
Tach zusammen,
hab die Dateien ausgetauscht, aber bei mir passiert rein gar nix. ich hab da nix mit resize stehen??? Muß ich cache löschen oder ähnliches?? gruß toto -------------------- Corporate Design, Printdesign, Webdesign, Podcast, Videocast und Beratung bei Junggebauer Grafik & Design
|
|
|
Thu. 9. July 2009, 09:09
Beitrag
#12
|
|
Member Gruppe: Members Beiträge: 35 Mitglied seit: 20.09.2006 Wohnort: Graubünden Mitglieds-Nr.: 247 |
Tach zusammen, hab die Dateien ausgetauscht, aber bei mir passiert rein gar nix. ich hab da nix mit resize stehen??? Muß ich cache löschen oder ähnliches?? gruß toto Hallo toto Ich musste auch noch die Anpassungen gem. dieser bereits beschriebenen Anpassung machen. Dann klappte es super. Grüsse Silvan -------------------- ----------------------------------------------------------------------------------------------
Webdesign | Webhostaing von wembastaz gmbh Hosting zu super fairen Preisen - auch für dein Sefrengo-Projekt! ---------------------------------------------------------------------------------------------- |
|
|
Fri. 10. July 2009, 06:47
Beitrag
#13
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Hätte noch ein Frage zu dem Feld (Grösse) wo ja die voreingestellte Grösse steht z.b. 600 (600px). Möchte ich jetzt aber mal doch ein Originalbild hochladen geht dies nicht. Habe mal das Feld
leer gelassen und ein Bild hochgeladen...die Grösse beträgt dann 5x3px. Wäre gut wenn man auch die Option hätte das Originalbild hochzuladen. Oder geht dies bei euch ? Natürlich via SF-Dateimanager und nicht FTP. Gruss Tsunami |
|
|
Fri. 10. July 2009, 07:16
Beitrag
#14
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 154 Mitglied seit: 03.07.2006 Mitglieds-Nr.: 91 |
Gib dann doch einfach in das Feld die max. Pixelgröße ein, also in diesem Fall die Originalgröße…
|
|
|
Wed. 15. July 2009, 06:45
Beitrag
#15
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Hallo
Danke für die Info ! Habe noch folgendes festgestellt. Wenn ich im Dateimanager das gleiche Bild (1877x1447/502KB) in einer tieferen "Verschachtelung" z.b. ab Basisverzeichnis.....dateien/04_angebote/angebote/ ablegen bzw. uploaden möchte, bekomme ich diese Fehlermeldung: ZITAT Warning: getimagesize(../media/dateien/04_angebote/angebote/Unwetter-307_0737-bearbeitet.jpg): failed to open stream: No such file or directory in /home/www/web200/html/backend/inc/mod.upl_resize.php on line 79 Das Bildformat wird leider nicht unterstüzt. Nur JPEG, GIF und PNG. wenn ich das gleiche auf dateien/04_angebote/ uploaden möchte, funktioniert es ! Sobald ich also 3 Unterordner in der Struktur habe, schlägt der Upload fehl....An was kann es liegen ? Gruss Tsunami |
|
|
Wed. 15. July 2009, 07:09
Beitrag
#16
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 154 Mitglied seit: 03.07.2006 Mitglieds-Nr.: 91 |
Hallo Tsunami,
kann ich leider nicht nachvollziehen. Ich bin grad 6 Ebenen tief gegangen ohne jegliche Fehlermeldung. Vielleicht musst du den "refresh"-Wert in Zeile 88 etwas höher setzen? Nur eine vage Vermutung, bin kein Programmierer… |
|
|
Wed. 15. July 2009, 08:50
Beitrag
#17
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 186 Mitglied seit: 27.10.2006 Mitglieds-Nr.: 317 |
Habe ich versucht - nützte leider nichts.
Ich habe nun in einem anderen Ordner (Dateimanager) testhalber eine neue Ebene erstellt. In diese habe ich das gleiche Bild nochmals hochgeladen. Der Upload funktionierte...mal geht's mal nicht. Danach löschte ich das Bild zuerst und wollte nachher den Ordner löschen. Dann bekomme ich aber die Meldung: ZITAT Verzeichnis konnte nicht gelöscht werden! Dies hängt denke ich auch mit den geänderten Dateien betreffend "Upload Resize" zusammen...oder wieso lässt sich dieser einfach nicht löschen ? Es befindet sich ja nichts mehr in diesem Ordner... |
|
|
Mon. 20. July 2009, 15:37
Beitrag
#18
|
|
Member Gruppe: Members Beiträge: 35 Mitglied seit: 20.09.2006 Wohnort: Graubünden Mitglieds-Nr.: 247 |
Habe ich versucht - nützte leider nichts. Ich habe nun in einem anderen Ordner (Dateimanager) testhalber eine neue Ebene erstellt. In diese habe ich das gleiche Bild nochmals hochgeladen. Der Upload funktionierte...mal geht's mal nicht. Danach löschte ich das Bild zuerst und wollte nachher den Ordner löschen. Dann bekomme ich aber die Meldung: Dies hängt denke ich auch mit den geänderten Dateien betreffend "Upload Resize" zusammen...oder wieso lässt sich dieser einfach nicht löschen ? Es befindet sich ja nichts mehr in diesem Ordner... Hallo Das hängt sicher mit dem Owner zusammen. Wenn der Ordner mit Sefrengo erstellt wurde (php) kann es bei manchen Provider sein, dass es einen anderen Owner bekommen hat. Dann kann man Ordner mit FTP nicht mehr löschen. Ich schätze auch, dass ein so neu erstellter Ordner nicht die nötigen Rechte hat (777) - darum der Fehlschlag. Hoffe das Hilfe.... Grüsse swu -------------------- ----------------------------------------------------------------------------------------------
Webdesign | Webhostaing von wembastaz gmbh Hosting zu super fairen Preisen - auch für dein Sefrengo-Projekt! ---------------------------------------------------------------------------------------------- |
|
|
Tue. 11. August 2009, 13:40
Beitrag
#19
|
|
Advanced Member Gruppe: AdvancedMembers Beiträge: 236 Mitglied seit: 14.07.2006 Wohnort: Bad Oeynhausen Mitglieds-Nr.: 138 |
bei mir kommt das im Dateimanager und darunter die Fileliste.
QUELLTEXT get_parent_directories($iddirectory=$_POST['iddirectory'], $idclient); $folder = $_POST['iddirectory']; //get file-IDs of selected Directory $db_dir = $fm->get_files_in_directory($folder, $client); while($db_dir->next_record()) { $idfile_dir = $db_dir->f('idupl'); $folderscan = $folderscan.'//'.$idfile_dir; } $folderarray = explode ('//',$folderscan); //sort file-IDs to extract the latest file-ID function sortiere($m, $n) { if ($m == $n) return 0; return ($m < $n) ? 1 : -1; } usort($folderarray, sortiere); //get filename of uploaded file, delete special characters (german) $file_path = $_FILES['userfile']['name']['0']; $file_path = preg_replace('/[^ a-zA-Z0-9._]/', '#', $file_path); $file_path = str_replace('##','-',$file_path); $file_path = str_replace(' ','-',$file_path); $file_path = str_replace('#','-',$file_path); //write relative path to file $img = '../media/'.$fm->get_directory_name($folder_kompl).$file_path; //generate lower case file name $img_kl = strtolower($file_path); //set path for reloading $uri = $_SERVER['PHP_SELF'].'?area=upl&viewtype=compact&idexpand='.$folder_kompl; //get new picture size - min. 5px if($_POST['newpicsize']<5){ $maxsize = 5; } else{ $maxsize = $_POST['newpicsize']; } //get actual picture information $imagesize = getimagesize($img); $hoehe = $imagesize[1]; $breite = $imagesize[0]; $typ = $imagesize[2]; //check if jpeg,gif or png - if not die if(($typ != 1)&&($typ != 2)&&($typ != 3)){ echo "Das Bildformat wird leider nicht unterstüzt. Nur JPEG, GIF und PNG."; header("refresh:4;url=$uri"); die(); } //if width is longer side - rezise if($hoehe < $breite){ $ratio = $hoehe / $breite; if($breite < $maxsize){ $hoehe_n = $hoehe; $breite_n = $breite; } else{ $hoehe_n = $maxsize * $ratio; $breite_n = $maxsize; }} //if height is longer side - rezise else{ $ratio = $breite / $hoehe; if($hoehe < $maxsize){ $hoehe_n = $hoehe; $breite_n = $breite; } else{ $hoehe_n = $maxsize; $breite_n = $maxsize * $ratio; } } //overwrite existing, original sized image /* //save as GIF if ($typ == 1) { $src = imagecreatefromgif($img); $dest = imagecreatetruecolor($breite_n,$hoehe_n); imagecopyresampled($dest,$src,0,0,0,0,$breite_n,$hoehe_n,$breite,$hoehe); imagegif($dest,$img,$quality); } */ //save as JPEG if ($typ == 2) { $src = imagecreatefromjpeg($img); $dest = imagecreatetruecolor($breite_n,$hoehe_n); imagecopyresampled($dest,$src,0,0,0,0,$breite_n,$hoehe_n,$breite,$hoehe); imagejpeg($dest,$img,$quality); } /* //save asPNG if ($typ == 3) { $src = imagecreatefrompng($img); $dest = imagecreatetruecolor($breite_n,$hoehe_n); imagecopyresampled($dest,$src,0,0,0,0,$breite_n,$hoehe_n,$breite,$hoehe); imagepng($dest,$img,$quality); } */ //file name to lower case $fm->rename_file_fs( $idupl = $folderarray[0], $img_kl ); //update file and reload page $fm->update_file($idupl = $folderarray[0],$idclient,$filename = $img_kl,$directory,$filetype,$status,$description,$used); header("refresh:0;url=$uri"); } /****************************************************************************** End of PICTURE RESIZE ******************************************************************************/ ?>
-------------------- Corporate Design, Printdesign, Webdesign, Podcast, Videocast und Beratung bei Junggebauer Grafik & Design
|
|
|
Vereinfachte Darstellung | Aktuelles Datum: 27.9.24 - 02:35 |