Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Brauche Hilfe bei einer Bilder Gallery

At first Hi @ all

Sagt mir bitte warum das hier nicht geht?

Fehler meldungen:
Warning: getimagesize(.): failed to open stream: Permission denied in d:\php\ff.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at d:\privat ed\internet zusammen\internet seiten\eduard´s seiten\php\ff.php:2) in d:\php\ff.php on line 22

Warning: imagecreatefromjpeg(.): failed to open stream: Permission denied in d:\php\ff.php on line 23

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in d:\php\ff.php on line 32
ÿØÿàJFIFÿþ;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 10 ÿÛCP7 Warning: imagedestroy(): supplied argument is not a valid Image resource in d:\php\ff.php on line 39

Warning: imagejpeg(): supplied argument is not a valid Image resource in d:\php\ff.php on line 44

Mit einem Bild geht alles wen ich das direct mache halt imgsorc usw. aber ich möchte das das Progie automatisch
den Ordner durch guckt und die bilder nacheinander ausgibt
so als Thumbnails.


Danke für eure Hilfe.


<?




$dir = opendir('gallery/bilder/');
$bilder = readdir($dir)) ;









$qualitaet = 10;
$neu_width = 500;
$neu_height = 500;

$org_groesse = GetImageSize($bilder);
$org_width = $org_groesse[0];
$org_height = $org_groesse[1];

header ("Content-type: image/jpeg");
$alt_bild = imagecreatefromjpeg($bilder);


if (!($neu_bild = @imagecreatetruecolor($neu_width,$neu_height)))
{
$neu_bild = imagecreate($neu_width,$neu_height);
}


imagecopyresampled($neu_bild,$alt_bild,0,0,0,0,$neu_width,$neu_height,$org_width,$org_height);


imagejpeg($neu_bild,'',$qualitaet);


imagedestroy($neu_bild);
imagedestroy($alt_bild);




imagejpeg($bilder);


closedir($dir);




?>

Hier gehts zum Orginal Eintrag "Brauche Hilfe bei einer Bilder Gallery" im Forum

Antworten

Hi,

mal wieder der Manual-Vorleseservice:
Note that readdir() will return the . and .. entries. If you don't want these, simply strip them out:
Quelle: http://www.php.net/readdir

Du versuchst also ./gallery/bilder/. und ./galler/bilder/.. wie Bilddateien zu behandeln.

Abgesehen davon wäre es eventuell auch noch ganz nützlich, vor der Behandlung in der (bei dir noch Fehlenden) Schleife ein is_readable() abzufragen und eventuell den Schleifendurchlauf abzubrechen wenn nicht.
http://www.php.net/is-readable
http://www.php.net/continue

Olli
http://www.phptutorials.de


2.

hm ich wollte eigentlich die Ordner auslesen und dan jedes einzelne Bild

mit dem Progie hier behandelnoder geht das nicht?

$qualitaet = 10;
$neu_width = 500;
$neu_height = 500;

$org_groesse = GetImageSize($bilder);
$org_width = $org_groesse[0];
$org_height = $org_groesse[1];

header ("Content-type: image/jpeg");
$alt_bild = imagecreatefromjpeg($bilder);


if (!($neu_bild = @imagecreatetruecolor($neu_width,$neu_height)))
{
$neu_bild = imagecreate($neu_width,$neu_height);
}


imagecopyresampled($neu_bild,$alt_bild,0,0,0,0,$neu_width,$neu_height,$org_width,$org_height);


imagejpeg($neu_bild,'',$qualitaet);


imagedestroy($neu_bild);
imagedestroy($alt_bild);




imagejpeg($bilder);


3.

kann es sein, daß Du die Antwort von Oliver entweder nicht richtig gelesen hast oder nicht richtig verstanden hast?

Es gibt in jedem Unterverzeichnis "." und ".." Einträge, die Du übergehen musst. Da ja heutzutage nur noch Explorer oder ähnliche Dateimanager benutzt werden, kennen leider viele diese Einträge nicht. Mach mal ein DOS- oder Shell-Fenster auf, wechsele mit cd verzeichnisname in ein Unterverzeichnis und gebe dir bzw. ls -l ein, dann bekommst Du z.B. sowas:

 Datenträger in Laufwerk C: ist System
 Volumeseriennummer: A091-AD63

 Verzeichnis von C:\TEMP

22.07.2003  15:14    <DIR>          .
22.07.2003  15:14    <DIR>          ..
25.04.2003  08:41                53 font.txt

Ich hoffe, Du hast nun verstanden, was Oliver Dir sagen wollte. Außerdem hilft auch ein Blick in die Doku, denn dort findet man sogar passende Beispiele!

*** Nobody ***


4.

Ich bin ein ziemlicher noon in Sachen php, deshalb was ihr sagt für mich Bahnhof,
aber eins habe ich verstanden meine Funktion geht net.
warum geht aber diese Funktion hier.
und was kan ich anstatt der meiner Funtion machen kan mir jemand das fertig stellen kan ja nicht so schwer sein für experten Danke.


<?










$dir = opendir('gallery/tum/');
while($bilder = readdir($dir))

{
if($bilder{0}=='.' || strrchr(strtolower($bilder),'.')!=='.jpg')
continue;












$infoneu = getimagesize('gallery/tum/'.$bilder);
$breiteneu = (($infoneu[0]/2)*1);
$hoeheneu = (($infoneu[1]/1)*1);

#
#

if(($infoneu[2] == 2) OR ($infoneu[2] == 0)){










echo"
<table border='0' width='50' height='0' align='center'>
<tr>
<td width='50' height='66' ><a href='gallery/bilder/".$bilder."'><img src='gallery/tum/".$bilder."' height=".$breiteneu." width=".$hoeheneu." style='filter:alpha(opacity=30)'></a></td>
<td width='60'> <table border='0' width='80' height='76'>
<tr>
<td width='80' bgcolor='7B97C6'><font color='AEBFDB'>Artist</font></td>
<td width='80' bgcolor='7B97C6'> <div align='center'><font color='AEBFDB'>Ed</font></div></td>
</tr>
<tr>
<td width='35'bgcolor='7B97C6'><font color='AEBFDB'>Tutorial</font></td>
<td width='66'bgcolor='7B97C6'> <div align='center'><font color='AEBFDB'>kommt</font></div></td>
</tr>
<tr>
<td width='35'bgcolor='7B97C6'><font color='AEBFDB'>Datum</font></td>
<td width='66'bgcolor='7B97C6'> <div>
<div align='left'><font color='AEBFDB'>23.01.2003</font></div>
</div></td>
</tr>
</table></td>
</tr>
</table>";










}
else {
echo "<br>";
}
}


closedir($dir);






?>


Hier gehts zum Orginal Eintrag "Brauche Hilfe bei einer Bilder Gallery" im Forum
 
phpforum.de | Impressum | Handy Bundles