- #1
J
JediMB
Bekanntes Mitglied
Themenersteller
- Dabei seit
- 04.04.2003
- Beiträge
- 244
- Reaktionspunkte
- 0
Hallo zusammen!
Ich habe nun den Schritt gewagt, mit meiner Homepage von kostenlosem Webspace zu einem kommerziellen Provider umzuziehen.
Leider habe ich erst hinterher festgestellt, dass die Server in meinem Tarif im PHP Safe Mode betrieben werden. Das bedeutet, dass verschiedene Funktionen gesperrt bzw. nur sehr eingeschränkt nutzbar sind.
Mein Website nutz allerdings verschiedene dieser Funktionen, um Fotogalerien zu erstellen und automatisch Thumbnails zu generieren.
Providerseitig könnte dies zwar umgestellt werden, allerdings wäre das nur mit dem Wechsel in einen deutlich teureren Professional-Tarif möglich.
Nun habe ich mich daran gemacht, die entsprechenden gesperrten Funktionen einmal mit dem einzigen, mir bekannten Workarround nachzubauen: FTP
Das ganze funktioniert bisher auch sehr gut, die Basics habe ich schon erfolgreich nachgebaut (MKDIR, MOVE_UPLOADED_FILE, etc.).
Nun zu meiner Frage:
Bei den Resample-Funktionen habe ich hierbei allerdings noch Probleme. Ich nutze die Funktion imagejpeg(), um die verkleinerten Bilder zu speichern. Allerdings habe ich die Image-Funktionen von PHP ohnehin nur so halb verstanden und weiß daher nicht, wie ich das ganze per FTP realisieren soll.
Interessant wäre hier zu wissen, an welcher Stelle ich welches Datenformat habe (einen Byte-Stream, einen File-Pointer oder gar eine fertige Datei?) und wo ich da mit den PHP-FTP-Funktionen am besten ansetze und diesen Byte-Stream oder diese Datei abgreifen kann, um sie dann per FTP auf dem Server zu speichern.
Es wäre daher sehr hilfreich, wenn mir jemand beim Verständnis der Image-Funktionen helfen könnte und ggf. auch noch einen passenden Tipp für den FTP Einstiegspunkt parat hätte...
Hier mal auszugsweise der Code meiner Resample-Funktion:
Bester Ansatzpunkt ist wahrscheinlich die imagejpeg()-Funktion, oder?
Evtl so:
MfG & Danke schon im Voraus!
Ich habe nun den Schritt gewagt, mit meiner Homepage von kostenlosem Webspace zu einem kommerziellen Provider umzuziehen.
Leider habe ich erst hinterher festgestellt, dass die Server in meinem Tarif im PHP Safe Mode betrieben werden. Das bedeutet, dass verschiedene Funktionen gesperrt bzw. nur sehr eingeschränkt nutzbar sind.
Mein Website nutz allerdings verschiedene dieser Funktionen, um Fotogalerien zu erstellen und automatisch Thumbnails zu generieren.
Providerseitig könnte dies zwar umgestellt werden, allerdings wäre das nur mit dem Wechsel in einen deutlich teureren Professional-Tarif möglich.
Nun habe ich mich daran gemacht, die entsprechenden gesperrten Funktionen einmal mit dem einzigen, mir bekannten Workarround nachzubauen: FTP
Das ganze funktioniert bisher auch sehr gut, die Basics habe ich schon erfolgreich nachgebaut (MKDIR, MOVE_UPLOADED_FILE, etc.).
Nun zu meiner Frage:
Bei den Resample-Funktionen habe ich hierbei allerdings noch Probleme. Ich nutze die Funktion imagejpeg(), um die verkleinerten Bilder zu speichern. Allerdings habe ich die Image-Funktionen von PHP ohnehin nur so halb verstanden und weiß daher nicht, wie ich das ganze per FTP realisieren soll.
Interessant wäre hier zu wissen, an welcher Stelle ich welches Datenformat habe (einen Byte-Stream, einen File-Pointer oder gar eine fertige Datei?) und wo ich da mit den PHP-FTP-Funktionen am besten ansetze und diesen Byte-Stream oder diese Datei abgreifen kann, um sie dann per FTP auf dem Server zu speichern.
Es wäre daher sehr hilfreich, wenn mir jemand beim Verständnis der Image-Funktionen helfen könnte und ggf. auch noch einen passenden Tipp für den FTP Einstiegspunkt parat hätte...
Hier mal auszugsweise der Code meiner Resample-Funktion:
Code:
$img_src=imagecreatefromjpeg($g_srcfile); //Bild in eine Variable holen
$img_dst=imagecreatetruecolor($g_iw,$g_ih); //Variable für neues Bild erstellen
imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, $g_iw, $g_ih, $g_is[0], $g_is[1]); //Bild resamplen und in die neue Bildvariable schieben
imagejpeg($img_dst, $g_dstfile,$g_imgcomp); //Bild aus der Variable auf Platte schreiben
imagedestroy($img_dst); //Variable exekutieren
Bester Ansatzpunkt ist wahrscheinlich die imagejpeg()-Funktion, oder?
Evtl so:
Code:
imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, $g_iw, $g_ih, $g_is[0], $g_is[1]); //Bild resamplen
ftp_fput($ftp_connection, $targetname, $img_dst, FTP_ASCII) // Bild per FTP speichern
MfG & Danke schon im Voraus!