Portal > Foren > PHP > PHP-Programmierung > Thumbnail Funktion will nicht
Antwort
 
Themen-Optionen
Alt 18.12.2007, 22:12 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard Thumbnail Funktion will nicht

Hallo zusammen

Ich habe mir folgende kleine Funktion zur Erstellung einfacher Thumbnails gebastelt. Leider Funktioniert das ganze nicht, ich suche jetzt schon lange den Fehler, doch ich finde ihn einfach nicht

PHP-Code:
function create_thumbnail($file$dest_folder)
{
  global 
$iThumbnailHeigth$iThumbnailWidth;
  
//
  // Get image Size
  //
  
$aImageOriginalSize getimagesize($file);
  if (
$aImageOriginalSize[0] > $aImageOriginalSize[1]) //Querformat
  
{
    
$iNewThumbnailWidth $iThumbnailWidth;
    
$iFactorSmaller $aImageOriginalSize[0]/$iThumbnailWidth//Verkleinerungsfaktor
    
$iNewThumbnailHeigth $aImageOriginalSize[1]/$iFactorSmaller//Seitenverhältniss beibehalten
  
}
  else
  {
    
$iNewThumbnailHeigth $iThumbnailHeigth;
    
$iFactorSmaller $aImageOriginalSize[1]/$iThumbnailHeigth//Verkleinerungsfaktor
    
$iNewThumbnailWidth $aImageOriginalSize[0]/$iFactorSmaller//Seitenverhältniss beibehalten
  
}
  
$img imagecreatefromjpeg($file);
  
$thumbnail imagecreatetruecolor($iNewThumbnailWidth$iNewThumbnailHeigth);
  
imagecopyresampled($thumbnail$img0000$iNewThumbnailWidth$iNewThumbnailHeigth$aImageOriginalSize[0], $aImageOriginalSize[1]);
  echo 
"<br>".$file."<br>";
  if (
imagejpeg($thumbnail$dest_folder100) == TRUE)
  {
    
imagedestroy($img);
    
imagedestroy($thumbnail);
    return 
TRUE;
  }
  else
  {
    
imagedestroy($img);
    
imagedestroy($thumbnail);
    return 
FALSE;
  }

Ja ich weiss, Height ist falsch geschrieben Die Werte sind z.B.

$file = /subdomains/domain/httpdocs/dir/galerie/DSC00795.JPG
und
$dest_folder = /subdomains/domain/httpdocs/dir/galerie/CACHE/DSC00795.JPG

Ich kriege einfach immer FALSE, weiss aber nicht woran das es liegt, auch ein Debugging half mir da nichts. Ich hoffe ihr könnt mir helfen

LG
Garnele

[Edit: Ordner CACHE hat CH-Mod 777...]
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch

Geändert von Garnele (18.12.2007 um 22:16 Uhr).
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.12.2007, 23:49 Nach oben    #2
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Habs jetzt nicht näher angeschaut, aber der zweite Parameter des imagejpeg()-Aufrufes scheint mir falsch zu sein – oder ungünstig benannt. Dort musst du den Pfad zur neuen Datei angeben incl. Dateinamen. Kann sein, dass er sich verweigert, wenn du dort ein Verzeichnis ($dest_folder) angibst, das bereits existiert – zumindest, wenn es nicht überschrieben, also auch gelöscht werden kann.

Basti

PS: Ich hab mir angewöhnt, Vergleiche immer typensicher (also mit === ) durchzuführen, denn z.B. fast alles ist == true.

PPS:
Gerade erst gesehen, dass du ja ein Beispiel für $dest_folder angegeben hast. Bennen das doch in $path_dest oder so um, dann ist das klar. Dann seh ich gerade auch nichts. Prüfe mal $img, dann $thumbnail.

Geändert von Basti (18.12.2007 um 23:53 Uhr).
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.12.2007, 10:19 Nach oben    #3
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

ich kann dir empfehlen mal folgendes Tutorial anzuschauen:
[PHP] thumbnails erstellen - kleine Funktion

interessant ist sicherlich auch:
thumbnail-Klasse; Qualität ok?



Ich weiß, dass das dein ursprüngliches Problem nicht löst, aber ich denke, dass es trotzdem einen Blick wert ist.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!

Geändert von Jann Hendrik (19.12.2007 um 19:57 Uhr).
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.12.2007, 18:32 Nach oben    #4
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hallo Ihr beiden

Ich habe den Fehler endlich gefunden, die Funktion selber ist in Ordnung. ABER: imagejpeg erzeugt einen Fehler, wenn der Ausgabeordner mit "/subdomains/domain/httpdocs/dir/galerie/CACHE/xxx.jpg" bezichnet wird, mit "galerie/CACHE/xx.jpg" gehts aber. Wo da genau der Unterschied ist, verstehe ich nicht ganz, aber hauptsache es klappt jetzt Danke euch beiden!

@Jan: Du meintest wohl dieses Tut, denn dein erster Link bringt mich zu genau diesem Thema

Liebe Grüsse, Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.12.2007, 19:59 Nach oben    #5
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.211
Standard

Zitat:
Zitat von Garnele Beitrag anzeigen
@Jan: Du meintest wohl dieses Tut, denn dein erster Link bringt mich zu genau diesem Thema
ja. Sry, habe ich oben somit geändert.

Der / am Anfang könnte bewirken, dass er vom root-Verzeichnis des Servers anfängt zu suchen.

Jenachdem, wo bei dir auf dem Server die htdocs liegen, müßte der Teil dann noch vorweg kommen.

z.B.:
/var/www/htdocs/....
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.12.2007, 19:51 Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hallo Jan

Ja ich weiss was der Slash bewirkt, die Angaben stimmen schon so

LG
Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2007, 13:03 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Zitat:
Zitat von Garnele Beitrag anzeigen
mit "galerie/CACHE/xx.jpg" gehts aber.
Wo genau liegt denn dein Skript?

Wird dann ein relativer Pfad erwartet oder wie? Ich hätte nun aus dem Bauch heraus auch einen absoluten Pfad als Parameter übergeben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.12.2007, 19:52 Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hallo

Also nochmals eine Zusammenfassung

Das Script liegt im Ordner /subdomains/domain/httpdocs/dir/script.php, die Ausgangsbilder im /subdomains/domain/httpdocs/dir/galerie. Wenn ich dem Script als Endorndner jetzt /subdomains/domain/httpdocs/dir/galerie/CACHE/datei.jpg übergebe gibt es einen Fehler, übergebe ich jedoch galerie/CACHE/datei.jpg so geht es. eigentlich unverständlich, oder?

LG
Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2007, 18:32 Nach oben    #9
Christian W. Achatz
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 132
Standard

Hallo Garnele,

läuft der httpd evtl. in einer chroot-Umgebung? Praktisch müssen beide Adressierungsarten (absolut und relativ) funktionieren.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.12.2007, 22:43 Nach oben    #10
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hallo dr. e

Das könnte ich jetzt nicht einfach so sagen, bemerkt habe ich bisher nichts bis auf dieses eine Mal. Es ist ein normales Hostingpacket, daher denke ich ist es schon möglich, dass eine chroot-Umgebung eingebaut ist.

LG
Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 29.12.2007, 01:17 Nach oben    #11
Christian W. Achatz
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 132
Standard

Hallo Garnele,

um die Pfadangaben zu testen kannst du - je nach System - z.B. ein Script in das Verzeichnis ablegen, in dem deine restlichen Programmdateien für die Galerie liegen und dort ein

Code:
echo system('realpath galerie/CACHE/datei.jpg');
einfügen. Sollte das nicht gehen, muss man u.U. System-Libraries einbinden ehe man das aufruft. Solltest du SSH-Zugang zum Paket haben (1&1 macht das bei den Profipaketen) lässt sich das auch ganz einfach herausfinden.
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.01.2008, 22:09 Nach oben    #12
Neuer Benutzer
 
Registriert seit: 14.10.2006
Beiträge: 3
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen

Code:
echo system('realpath galerie/CACHE/datei.jpg');
einfügen. Sollte das nicht gehen, muss man u.U. System-Libraries einbinden ehe man das aufruft. Solltest du SSH-Zugang zum Paket haben (1&1 macht das bei den Profipaketen) lässt sich das auch ganz einfach herausfinden.
PHP hat auch a realpath funktion, du solltest es nutzen:

echo realpath("some/path/foo.jpeg");
Pierre ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.01.2008, 20:58 Nach oben    #13
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hallo ihr beiden

Danke vielmals, das Script läuft so ja jetzt und der relative pfad reicht hier in diesem Fall, ich werde mir eure Tipps aber sicherlich für ein andermal merken. Danke vielmals

Lg
garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] thumbnails erstellen - kleine Funktion Jann Hendrik Tutorials 2 16.01.2008 10:38
[PHP] Zeitformate, Datum und Co Jann Hendrik Tutorials 0 05.12.2006 18:48
[SUCHE] Funktion erstellen Jan Gesuche 5 30.10.2006 10:09
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
funktion mit variablenname aufrufen? Niedi PHP-Programmierung 4 20.09.2005 23:05


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:15 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44