php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2004, 03:40  
Gast
 
Beiträge: n/a
Standard Pic of the Day + Popup Funktion

Hellas.
Ich habe mir ein Pic of the Day programmieren lassen.
Ein Bild wird in einem Frame verkleinert angezeigt. Das Bild passt sich automatisch dem Frame an. Durch Anklicken öffnet sich ein Popup, mit dem vergrößertem Bild darin.

Allerdings konnten aus Wissensmangel vier Fehler in dem Script nicht behoben werden:

1. Das Bild füllt das Popup nicht ganz aus. Um das Bild herum - linke Seite und oben - werden jeweils weisse Balken angezeigt. Das Bild soll bitte das gesamte Popup ausüllen.

2. Der Titel des Popups ist der Name des Bildes. Bitte einen Editiermöglichkeit des Titels geben.

3. Das Popup soll bitte zentiert in der Mitte auf dem Bildschirm erscheinen.

4. Durch Klick auf das Bild soll es sich bitte automatisch schließen.


Bitte helf mir ! Auf http://www.palastrevolution.com/ findest Du das derzeitig eingebaute Script.

Der Quellcode, des Scripts:

Zitat:
<?php
$handle = fopen("date.ini", "r");
if(!feof($handle)) {
$date = fgets($handle);
if($date != date("d.m.Y")) {
$dirlist = "./";


$x=0;
$images=array();
$handle2 = opendir($dirlist);
while ($file = readdir($handle2)) {
$pieces = explode (".", $file);
if ($pieces[0] && $pieces[1]) {
if (($pieces[1]=="gif") || ($pieces[1]=="jpg") || ($pieces[1]=="GIF") || ($pieces[1]=="JPG") || ($pieces[1]=="bmp") || ($pieces[1]=="BMP") || ($pieces[1]=="jpeg") || ($pieces[1]=="png") || ($pieces[1]=="PNG")) {
$images[$x]=$file;
$x++;
}
}
}
closedir($handle2);
$dir = "pic/";
$path = $images[rand(0,count($images)-1)];
$handle5=opendir($dir);
while ($file = readdir ($handle5))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
unlink($dir.$file);
}


}
}
copy($path, $dir.$path);

$handle1 = fopen("date.ini", "w");
fputs($handle1, date("d.m.Y"));
fclose($handle1);

$handle4 = opendir("pic/");
while($file = readdir($handle4))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
$img = imagecreatefromjpeg($dir.$file);
$breite = imagesx($img);
$hoehe = imagesy($img);
if($breite > $hoehe) {
$k = $hoehe / $breite;
$vorg_breit = "80";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite < $hoehe) {
$k = $breite / $hoehe;
$vorg_hoehe = "80";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite == $hoehe) {
$vorg="80";
echo "[img]".$dir.$file."[/img]";
}
}


}

}



}
else {
$dir="pic/";
$handle4 = opendir("pic/");
while($file = readdir($handle4))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
$img = imagecreatefromjpeg($dir.$file);
$breite = imagesx($img);
$hoehe = imagesy($img);
if($breite > $hoehe) {
$k = $hoehe / $breite;
$vorg_breit = "118";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite < $hoehe) {
$k = $breite / $hoehe;
$vorg_hoehe = "98";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite == $hoehe) {
$vorg="80";
echo "[img]".$dir.$file."[/img]";
}
}


}

}
}
}
fclose($handle)
?>

<?php
$handle = fopen("date.ini", "r");
if(!feof($handle)) {
$date = fgets($handle);
if($date != date("d.m.Y")) {
$dirlist = "./";


$x=0;
$images=array();
$handle2 = opendir($dirlist);
while ($file = readdir($handle2)) {
$pieces = explode (".", $file);
if ($pieces[0] && $pieces[1]) {
if (($pieces[1]=="gif") || ($pieces[1]=="jpg") || ($pieces[1]=="GIF") || ($pieces[1]=="JPG") || ($pieces[1]=="bmp") || ($pieces[1]=="BMP") || ($pieces[1]=="jpeg") || ($pieces[1]=="png") || ($pieces[1]=="PNG")) {
$images[$x]=$file;
$x++;
}
}
}
closedir($handle2);
$dir = "pic/";
$path = $images[rand(0,count($images)-1)];
$handle5=opendir($dir);
while ($file = readdir ($handle5))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
unlink($dir.$file);
}


}
}
copy($path, $dir.$path);

$handle1 = fopen("date.ini", "w");
fputs($handle1, date("d.m.Y"));
fclose($handle1);

$handle4 = opendir("pic/");
while($file = readdir($handle4))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
$img = imagecreatefromjpeg($dir.$file);
$breite = imagesx($img);
$hoehe = imagesy($img);
if($breite > $hoehe) {
$k = $hoehe / $breite;
$vorg_breit = "118";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite < $hoehe) {
$k = $breite / $hoehe;
$vorg_hoehe = "98";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite == $hoehe) {
$vorg="98";
echo "[img]".$dir.$file."[/img]";
}
}


}

}



}
else {
$dir="pic/";
$handle4 = opendir("pic/");
while($file = readdir($handle4))
{
if ($file != "." && $file != ".." )
{
if( !is_dir($dir.$file))
{
$img = imagecreatefromjpeg($dir.$file);
$breite = imagesx($img);
$hoehe = imagesy($img);
if($breite > $hoehe) {
$k = $hoehe / $breite;
$vorg_breit = "118";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite < $hoehe) {
$k = $breite / $hoehe;
$vorg_hoehe = "98";
echo "[img]".$dir.$file."[/img]";
}
elseif($breite == $hoehe) {
$vorg="98";
echo "[img]".$dir.$file."[/img]";
}
}


}

}
}
}
fclose($handle)
?>

Danke fürs Durchlesen und die Mühe, Simon.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.12.2004, 07:07  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

In jedem Fall wirst du nicht drumherum kommen, zuerst einmal nicht direkt das Bild im Popup anzuzeigen, sondern noch einmal etwas HTML, beispielsweise über eine popup.php Scriptdatei.

Zu 1. Hier fehlt eine Aussage über marginWidth / marginHeight, also der Aussenabstand des Inhaltes. Diese einfach absolut auf 0 setzen (http://de.selfhtml.org/html/dateiweit/seitenraender.htm), dann sollte es passen.

Zu 2. Gegenfrage: Wo sollen die gespeichert werden? In einer zusätzlichen Textdatei oder in einer Datenbank???

Zu 3. Für Browser-Kompatibilität ist hier etwas Berechnung notwendig. In deinem Script kann man bei window.open angeben, wo das Fenster angezeigt werden soll. Dazu sind die Eigenschaften "top" und "left" zu setzen: http://de.selfhtml.org/javascript/ob...indow.htm#open
Da du die Bildbreiten / Bildhöhen jeweils bereits hast ($breite und $hoehe), sollte die Berechnung nun recht einfach sein, sofern man die X- und Y- Auflösung des Bildschirms herausbekommt. Im JavaScript gibt es auch dafür eine Lösung: http://de.selfhtml.org/javascript/ob...m#avail_height

Zu 4. Das Bild wird in der popup.php mit einem Link unterlegt, beispielsweise [img][...][/img]
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 27.12.2004, 07:08  
Gast
 
Beiträge: n/a
Standard

sollen wir dir das jetzt einbauen?
oder versteh ich deine aufforderung falsch?
 
Alt 27.12.2004, 12:57  
Gast
 
Beiträge: n/a
Standard

Sollen... nein ! phpfriend.de ist ja kein Service.
Ich bitte euch Bastler mir zu helfen, indem ihr die nötigen Befehle einbaut. Das wäre sehr sehr freundlich.
 
Alt 28.12.2004, 08:14  
Gast
 
Beiträge: n/a
Standard

Zitat:
Ich bitte euch Bastler mir zu helfen, indem ihr die nötigen Befehle einbaut. Das wäre sehr sehr freundlich
du kriegst hier nur tips und lösung hilfen
arbeiten tut keiner
zumindest ich nicht

aber ich helf dir mal, dies ist der teil wo das bild geöffnet wird:
PHP-Code:
else { 
$dir="pic/"
$handle4 opendir("pic/"); 
while(
$file readdir($handle4)) 

if (
$file != "." && $file != ".." 

if( !
is_dir($dir.$file)) 

$img imagecreatefromjpeg($dir.$file); 
$breite imagesx($img); 
$hoehe imagesy($img); 
if(
$breite $hoehe) { 
$k $hoehe $breite
$vorg_breit "118"
echo 
"[url='#'][img]".$dir.$file."[/img][/url]"

elseif(
$breite $hoehe) { 
$k $breite $hoehe
$vorg_hoehe "98"
echo 
"[url='#'][img]".$dir.$file."[/img][/url]"

elseif(
$breite == $hoehe) { 
$vorg="98"
echo 
"[url='#'][img]".$dir.$file."[/img][/url]"


onClick ist ein javascipt welches ein fenster öffnet
bei diesen popUps muss die höhe und breite angegeben werden
das sieht so aus:
PHP-Code:
,innerWidth=".$breite."px,innerHeight=".$hoehe." 
ist auch alles richtig
was vergessen wurde ich zusagen, dass in diesem fenster keine ränder sind, also das bild direkt oben und link ansetzten soll, so sieht der html befehl dafür aus
PHP-Code:
topmargin="0" leftmargin="0" 
diese zwei befehle musst du jetzt noch in deinen popUp aufruf einbauen bzw. einbauen lass von deinem programmierer:
PHP-Code:
onClick='window.open(\"".$dir.$file."\",\"PicOfTheDay\",\"resizable=no,location=no,menubar=no,left=0,top=0,status=no,toolbar=no,innerWidth=".$breite."px,innerHeight=".$hoehe."px\")'>[img]".$dir.$file."[/img]</a
dann sollt das popUp 'perfekt' sein
 
Alt 28.12.2004, 12:27  
Gast
 
Beiträge: n/a
Standard

danke schon mal für die hile.
 
Alt 28.12.2004, 14:28  
Gast
 
Beiträge: n/a
Standard

find ich echt mal recht dreist der Post @ #1 ...

#2 benatwortet ja praktisch alles, ich sehe also keinen Grund noch mehr
sorry in den Ars** zu schieben...

Nur 2 Punkte:

1. Das Script hast du programmieren lassen? Strange, denn den Code besitze ich auch in meinem *ClanScripte* Ordner auf der Platte... allerdings ist bei mir ein Copyright dabei :-/ Also vielleicht mal ernstes Wörtchen mit dem Coder reden...

2. Wieso codet dir dein Coder dann nicht diese WINZIGKLEINEN Änderrungen noch rein ? Und wieso hab ich grad so schlechte LAune?
 
Alt 28.12.2004, 14:42  
Gast
 
Beiträge: n/a
Standard

frust?
 
Alt 28.12.2004, 14:48  
Gast
 
Beiträge: n/a
Standard

mhhh anscheinend naja, jedem das seine...
 
Alt 28.12.2004, 21:33  
Gast
 
Beiträge: n/a
Standard

jaaa genau Frust
 
 


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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
popup js --> funktion php phattom JavaScript, Ajax und mehr 3 27.07.2008 15:03
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
Funktion aus einem PopUp in einen Frame verlegen PHP Tipps 2005-2 4 09.09.2005 18:01
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
popup reload boehseronkel HTML, Usability und Barrierefreiheit 1 03.08.2005 14:34
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Zugriff vom Popup auf andere Seite Neo2k3 PHP Tipps 2004 2 05.08.2004 20:51
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dirpic

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:48 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.