php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 04.09.2008, 12:21  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 107
SilentSight befindet sich auf einem aufstrebenden Ast
Standard Erzeugtes Bild in png Datei auslagern

Hallo PHP-Gemeinde,

ich habe ein Problem mit meiner Captcha-Klasse.
Darin habe ich eine Funktion getImage(), die durch die Funktion imagepng() ein png-Bild erstellt.
Ich möchte jetzt dieses Bild nicht direkt in der PHP-Seite haben, sondern das erzeugte Bild soll in einer temp.png zwischengespeichert werden.

Ist das möglich?
Wenn ja wie?

Ich hoffe ihr könnt mir wieder helfen

mfg SilentSight
SilentSight ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.09.2008, 12:25  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

imagepng() hat einen zweiten Parameter, dort kannst du einen Dateinamen angeben unter dem die Grafik dann abgelegt wird. Siehe Manual: PHP: imagepng - Manual

Bei einem Captcha macht das aber eigentlich wenig Sinn...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 04.09.2008, 12:29  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 107
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Danke für den Tipp, das hätte ich auch selber rausfinden können

Der Sinn dahinter ist eigentlich, dass ich nicht die ganze PHP-Datei mit einem header in ein PNG verwandeln muss sondern einfach per echo das temp.png in die Seite integrieren kann.
SilentSight ist offline  
Alt 04.09.2008, 12:33  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Auch das finde ich nicht sinnvoll - was ist wenn zwei Leute - quasi - gleichzeitig auf das Captcha zugreifen?

Außerdem seh ich das Problem nicht - Du hast das Script welches das Captcha generiert, gibst dem den passenden PNG-Header und kannst es dann an der gewünschten Stelle einfach über <img src="captcha.php" alt="" /> einbinden...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 04.09.2008, 12:36  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 107
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Wie gesagt, es ist eine Klasse.
Deshalb will ich keine zweite Datei extra für das Bild anlegen.
SilentSight ist offline  
Alt 04.09.2008, 13:04  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Musst Du doch auch nicht.
Einfaches Beispiel
PHP-Code:
if (foo()) {
  
header('Content-type: text/plain'));
  echo 
'xyz';
}
else {
  
header('Content-type: image/png'));
  
$im bar();
  
imagepng($im);

David ist offline  
Alt 04.09.2008, 16:05  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 107
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Aber in meiner Datei ist davor schon eine Ausgabe, weshalb ich das nicht mit header lösen kann.
SilentSight ist offline  
Alt 04.09.2008, 16:12  
Neuer Benutzer
 
Registriert seit: 19.07.2008
Beiträge: 20
Unbass befindet sich auf einem aufstrebenden Ast
Standard

Also ich würde es so machen:

Wie SilentSight meine ein png erstellen mit dem unterschied dass der name tmp-ipadresse_zeit.png ist. Da wäre dann dass problem mit was ist wenn mehrere geade auf der seite sind gebannt. Auserdem wenn er beim aufrauf der klasse die Zeit in eine variabele speichert kann er sie gezielt aufrufen.

z.b.

Mit Sessions:
PHP-Code:
funtion captcha() {

session_start();
$_SESSION['time'] = time();

// Erstellen des bildes ...
// Bei erstellung Variabele $exist setzen und bild tmp-ipadresse_time_1.png nennmen.
if(isset($exist)) {
   
$image 'tmp-'.$_SERVER['REMOTE_ADDR'].'_'.$_SESSION['time'].'_1.png';
} else {
   
$image 'tmp-'.$_SERVER['REMOTE_ADDR'].'_'.$_SESSION['time'].'png';
}

echo 
$image;



Ohne Sessions:
PHP-Code:
funtion captcha() {

$time time();

// Erstellen des bildes ...
// Bei erstellung Variabele $exist setzen und bild tmp-ipadresse_time_1.png nennmen.
if(isset($exist)) {
   
$image 'tmp-'.$_SERVER['REMOTE_ADDR'].'_'.$time.'_1.png';
} else {
   
$image 'tmp-'.$_SERVER['REMOTE_ADDR'].'_'.$time.'png';
}

echo 
$image;



Geändert von Unbass (04.09.2008 um 16:18 Uhr).
Unbass ist offline  
Alt 04.09.2008, 16:21  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von SilentSight Beitrag anzeigen
Aber in meiner Datei ist davor schon eine Ausgabe, weshalb ich das nicht mit header lösen kann.
Du kannst aber im img Element wieder auf die selbe Datei verweisen.
David ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
bild datei namen aus verzeichnis auslesen PHP Tipps 2005-2 3 04.09.2005 13:36
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Datei (Bild) easy kopieren? PHP Tipps 2005-2 2 17.08.2005 16:23
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
bild namen aus datei lesen?? CrashonNet PHP Tipps 2005-2 4 26.07.2005 19:42
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
per Post an von PHP erzeugtes Bild übergeben PHP-Fortgeschrittene 6 26.04.2005 16:36
Zeilenumbrüche & Neudatein mit PHP PHP Tipps 2004 5 21.10.2004 11:38
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
(ich schonwieder) Link seite automatisch imported_DJ Nuno PHP Tipps 2004 14 19.08.2004 17:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
png auslagern, datei header png-datei, php bilder erzeugen in funktion auslagern

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum