Mailinglisten-Archive |
This is a multi-part message in MIME format. ------=_NextPart_000_0000_01BF82EF.5AA32860 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Als Anlage 2 file die wunder machen tumbnails als vollautomatik einfach im bilder dir reinstellen und abrufen gegebenfalls der html source nehemen und somit auch auf normalen server oder CD-Rom faehig Ciao www.ticinonline.to Metasearch Patrik -----Messaggio originale----- Da: php-admin_(at)_infosoc.uni-koeln.de [mailto:php-admin_(at)_infosoc.uni-koeln.de]Per conto di Björn Schotte Inviato: martedì 29 febbraio 2000 15.36 A: php_(at)_solix.wiso.Uni-Koeln.DE Oggetto: Re: [php] tumbnails * thomas hausheer wrote: > gibt es einen moeglichkeit, tumbnails mittels php zu erstellen? vielen dank. Ja. Bei GIF-Bildern kannst du die ImageGIF-Funktionen (siehe Manual) verwenden, bei JPG Bildern nimmst du die externen Programme djpeg (JPEG dekomprimieren), die erhältlichen NetPBM- Tools zum Konvertieren des JPEGs in PBM und anschließendem Skalieren und cjpeg zum anschließenden Komprimieren des JPEG-Thumbnails. -- Björn Schotte Fon: 0931 / 78 43 79 2 <http://www.php-center.de/> Fax: 0931 / 78 43 79 5 <http://www.web-cards.de/> -- ** Durchgehend geöffnet: http://www.php-center.de ** Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de http://infosoc.uni-koeln.de/mailman/listinfo/php ------=_NextPart_000_0000_01BF82EF.5AA32860 Content-Type: application/octet-stream; name="class.File.php3" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="class.File.php3" <? /* File 1.0 - A wrapper class to common PHP file operations Copyright (c) 1999 CDI, cdi_(at)_thewebmasters.net All Rights Reserved */ Class File { var $ERROR =3D ""; var $BUFFER =3D -1; var $STATCACHE =3D array(); var $TEMPDIR =3D '/tmp'; var $REALUID =3D -1; var $REALGID =3D -1; function File () { global $php_errormsg; return; } function clear_cache() { unset($this->STATCACHE); $this->STATCACHE =3D array(); return true; } function is_sane($fileName =3D "", $must_exist =3D 0, $noSymLinks =3D = 0, $noDirs =3D 0) { $exists =3D false; if(empty($fileName)) { return false; } if($must_exist !=3D 0) { if(!file_exists($fileName)) { $this->ERROR =3D "is_sane: [$fileName] does not exist"; return false; } $exists =3D true; } if($exists) { if(!is_readable($fileName)) { $this->ERROR =3D "is_sane: [$fileName] not readable"; return false; } if($noDirs !=3D 0) { if(is_dir($fileName)) { $this->ERROR =3D "is_sane: [$fileName] is a directory"; return false; } } if($noSymLinks !=3D 0) { if(is_link($fileName)) { $this->ERROR =3D "is_sane: [$fileName] is a symlink"; return false; } } } // end if exists return true; =09 } // ************************************************************** function read_file ($fileName =3D "" ) { $contents =3D ""; if(empty($fileName)) { $this->ERROR =3D "read_file: No file specified";=20 return false; } if(!$this->is_sane($fileName,1,0,1)) { // Preserve the is_sane() error msg return false; } $fd =3D _(at)_fopen($fileName,"r"); if( (!$fd) || (empty($fd)) ) { $this->ERROR =3D "read_file: File error: [$php_errormsg]"; return false; } $contents =3D fread($fd, filesize($fileName) ); fclose($fd); return $contents; } // ************************************************************** // Read a file via fgetss(), which strips all php/html // from the file. function strip_read ($fileName =3D "", $strip_cr =3D 0) { if(empty($fileName)) { $this->ERROR =3D "strip_read: No file specified";=20 return false; } if(!$this->is_sane($fileName,1,0,1)) { // Preserve the error return false; } if($this->BUFFER > 0) { $buffer =3D $this->BUFFER; } else { $buffer =3D filesize($fileName); } $contents =3D ""; $fd =3D _(at)_fopen($fileName,"r"); if( (!$fd) || (empty($fd)) ) { $this->ERROR =3D "strip_read: File error: [$php_errormsg]"; return false; } while(!feof($fd)) { $contents .=3D fgetss($fd,$buffer); } fclose($fd); return $contents; } // ************************************************************** function write_file ($fileName,$Data) { $tempDir =3D $this->TEMPDIR; $tempfile =3D tempnam( $tempDir, "cdi" ); if(!$this->is_sane($fileName,0,1,1)) { return false; } if (file_exists($fileName)) { if (!copy($fileName, $tempfile)) { $this->ERROR =3D "write_file: cannot create backup file [$tempfile] = : [$php_errormsg]"; return false; } } $fd =3D _(at)_fopen( $tempfile, "a" ); if( (!$fd) or (empty($fd)) ) { $myerror =3D $php_errormsg; unlink($tempfile); $this->ERROR =3D "write_file: [$tempfile] access error [$myerror]"; return false; } fwrite($fd, $Data); fclose($fd); if (!copy($tempfile, $fileName)) { $myerror =3D $php_errormsg; // Stash the error, see above unlink($tempfile); $this->ERROR =3D "write_file: Cannot copy file [$fileName] = [$myerror]"; return false; } unlink($tempfile); if(file_exists($tempfile)) { // Not fatal but it should be noted $this->ERROR =3D "write_file: Could not unlink [$tempfile] : = [$php_errormsg]"; } return true; } // ************************************************************** function copy_file ($oldFile =3D "", $newFile =3D "") { if(empty($oldFile)) { $this->ERROR =3D "copy_file: oldFile not specified"; return false; } if(empty($newFile)) { $this->ERROR =3D "copy_file: newFile not specified"; return false; } if(!$this->is_sane($oldFile,1,0,1)) { // preserve the error return false; } if(!$this->is_sane($newFile,0,1,1)) { // preserve it return false; } if (! (_(at)_copy($oldFile, $newFile))) { $this->ERROR =3D "copy_file: cannot copy file [$oldFile] = [$php_errormsg]"; return false; } return true; } // ********************************************** function get_files ($root_dir, $fileExt =3D 'ALL_FILES') { $fileList =3D array(); if(!is_dir($root_dir)) { $this->ERROR =3D "get_files: Sorry, [$root_dir] is not a directory"; return false; } if(empty($fileExt)) { $this->ERROR =3D "get_files: No file extensions specified"; return false; } $open_dir =3D _(at)_opendir($root_dir); if( (!$open_dir) or (empty($open_dir)) ) { $this->ERROR =3D "get_files: Failed to open dir [$root_dir] : = $php_errormsg"; return false; } $fileCount =3D 0; while ( $file =3D readdir($open_dir)) { if( (!is_dir($file)) and (!empty($file)) ) { if($fileExt =3D=3D 'ALL_FILES') { $fileList[$fileCount] =3D $file; $fileCount++; } else { if(eregi(".\.($fileExt)$",$file)) { $fileList[$fileCount] =3D $file; $fileCount++; } } } } closedir($open_dir); return $fileList; } // end get_files function is_owner($fileName, $uid =3D "") { if(empty($uid)) { if($this->REALUID < 0) { $tempDir =3D $this->TEMPDIR; $tempFile =3D tempnam($tempDir,"cdi"); if(!touch($tempFile)) { $this->ERROR =3D "is_owner: Unable to create [$tempFile]"; return false; } $stats =3D stat($tempFile); unlink($tempFile); $uid =3D $stats[4]; } else { $uid =3D $this->REALUID; } } $fileStats =3D stat($fileName); if( (empty($fileStats)) or (!$fileStats) ) { $this->ERROR =3D "is_owner: Unable to stat [$fileName]"; return false; } $this->STATCACHE =3D $fileStats; $owner =3D $fileStats[4]; if($owner =3D=3D $uid) { return true; } $this->ERROR =3D "is_owner: Owner [$owner] Uid [$uid] FAILED"; return false; } function is_inGroup($fileName, $gid =3D "") { if(empty($gid)) { if($this->REALGID < 0) { $tempDir =3D $this->TEMPDIR; $tempFile =3D tempnam($tempDir,"cdi"); if(!touch($tempFile)) { $this->ERROR =3D "is_inGroup: Unable to create [$tempFile]"; return false; } $stats =3D stat($tempFile); unlink($tempFile); $gid =3D $stats[5]; } else { $gid =3D $this->REALGID; } } $fileStats =3D stat($fileName); if( (empty($fileStats)) or (!$fileStats) ) { $this->ERROR =3D "is_inGroup: Unable to stat [$fileName]"; return false; } $this->STATCACHE =3D $fileStats; $group =3D $fileStats[5]; if($group =3D=3D $gid) { return true; } $this->ERROR =3D "is_inGroup: Group [$group] Gid [$gid] FAILED"; return false; } function get_real_uid() { $tempDir =3D $this->TEMPDIR; $tempFile =3D tempnam($tempDir,"cdi"); if(!touch($tempFile)) { $this->ERROR =3D "is_owner: Unable to create [$tempFile]"; return false; } $stats =3D stat($tempFile); unlink($tempFile); $uid =3D $stats[4]; $gid =3D $stats[5]; $this->REALUID =3D $uid; $this->REALGID =3D $gid; return $uid; } function get_real_gid() { $uid =3D $this->get_real_uid(); if( (!$uid) or (empty($uid)) ) { return false; } return $this->REALGID; } } // end class File ?> ------=_NextPart_000_0000_01BF82EF.5AA32860 Content-Type: application/octet-stream; name="index.php3" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="index.php3" <?php=20 include( "class.File.php3");=20 // RELATIVE PATH TO IMAGES DIRECTORY (Other than gallery.php3's)=20 $path =3D ".";=20 // NUMBER OF COLUMNS TO BE DISPLAYED=20 $colunas =3D 6;=20 // THUMBNAIL WIDTH=20 $thumb_width =3D "100";=20 // THUMBNAIL HEIGHT=20 $thumb_height =3D "";=20 /* COORDINATES FOR THE FULL SIZE PHOTO POP-UP WINDOW =20 YOU CAN USE (MINUS) TO INVERT THE REFERENCES =20 (RIGHTMARGIN AND BOTTOMMARGIN). PREETY COOL, ISN'T IT? */=20 // LEFTMARGIN OFFSET (RIGTHMARGIN IF YOU USE NEGATIVE VALUES)=20 $pop_leftmargin =3D "1";=20 // TOPMARGIN OFFSET (BOTTOMMARGIN IF YOU USE NEGATIVE VALUES)=20 $pop_topmargin =3D "1";=20 //***********************************************************//=20 //******** ENDOF VARIABLES CONFIGURATION SECTION ************//=20 //***********************************************************//=20 $file =3D new File(); =20 $images =3D array();=20 $jpgs =3D $file->get_files( "$path", "jpg");=20 if( !empty($jpgs) ) {=20 while ( list( $key, $filename ) =3D each( $jpgs ) ) {=20 $images[] =3D $filename;=20 }=20 }=20 $gifs =3D $file->get_files( "$path", "gif");=20 if( !empty($gifs) ) {=20 while ( list( $key, $filename ) =3D each( $gifs ) ) {=20 $images[] =3D $filename;=20 }=20 }=20 $pngs =3D $file->get_files( "$path", "png");=20 if( !empty($pngs) ) {=20 while ( list( $key, $filename ) =3D each( $pngs ) ) {=20 $images[] =3D $filename;=20 }=20 }=20 $bmps =3D $file->get_files( "$path", "bmp");=20 if( !empty($bmps) ) {=20 while ( list( $key, $filename ) =3D each( $bmps ) ) {=20 $images[] =3D $filename;=20 }=20 }=20 $count =3D 1;=20 $break =3D $colunas;=20 ?>=20 <!-- STARTOF HTML CODE - CUSTOMIZE AS YOU WISH -->=20 <!-- JUST DON'T TOUCH THE JAVA CODE -->=20 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">=20 <HTML>=20 <HEAD>=20 <TITLE>The Jazzascona Performers Photo Gallery</TITLE>=20 <SCRIPT Language=3D"JavaScript"> =20 <!-- =20 var popWin =3D null =20 var winCount =3D 0=20 var winName =3D "popWin"=20 function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, = winTop){=20 var d_winLeft =3D 20 =20 var d_winTop =3D 20 =20 winName =3D "popWin" + winCount++ =20 closePopWin() =20 if (openPopWin.arguments.length >=3D 4) =20 winFeatures =3D "," + winFeatures=20 else =20 winFeatures =3D "" =20 if (openPopWin.arguments.length =3D=3D 6) =20 winFeatures +=3D getLocation(winWidth, winHeight, winLeft, winTop)=20 else=20 winFeatures +=3D getLocation(winWidth, winHeight, d_winLeft, = d_winTop)=20 popWin =3D window.open(winURL, winName, "width=3D" + winWidth =20 + ",height=3D" + winHeight + winFeatures)=20 }=20 function closePopWin(){ =20 if (navigator.appName !=3D "Microsoft Internet Explorer" =20 || parseInt(navigator.appVersion) >=3D4) =20 if(popWin !=3D null) if(!popWin.closed) popWin.close() =20 }=20 function getLocation(winWidth, winHeight, winLeft, winTop){=20 return ""=20 }=20 //-->=20 </SCRIPT>=20 <SCRIPT Language=3D"JavaScript1.2">=20 <!--=20 function getLocation(winWidth, winHeight, winLeft, winTop){=20 var winLocation =3D ""=20 if (winLeft < 0)=20 winLeft =3D screen.width - winWidth + winLeft=20 if (winTop < 0)=20 winTop =3D screen.height - winHeight + winTop=20 if (winTop =3D=3D "cen")=20 winTop =3D (screen.height - winHeight)/2 - 20=20 if (winLeft =3D=3D "cen")=20 winLeft =3D (screen.width - winWidth)/2=20 if (winLeft>0 & winTop>0)=20 winLocation =3D ",screenX=3D" + winLeft + ",left=3D" + winLeft =20 + ",screenY=3D" + winTop + ",top=3D" + winTop=20 else=20 winLocation =3D ""=20 return winLocation=20 }=20 //-->=20 </SCRIPT>=20 <style>=20 <!--=20 BODY {=20 font-family: Verdana,Arial;=20 font-style: none;=20 font-size: 16px;=20 }=20 BIG {=20 font-size: 28px;=20 font-weight: bold;=20 }=20 TABLE {=20 font-size: 16px;=20 }=20 SMALL {=20 font-size: 12px;=20 }=20 A:LINK {=20 text-decoration: none;=20 font-weight: bold;=20 }=20 -->=20 </style> =20 </HEAD>=20 <BODY onUnload=3D"closePopWin()">=20 <div align=3D"CENTER">=20 <b>The Jazzascona Performers Photo Gallery (php Live read Folder)<br> <a href=3D"http://www.jazzascona.ch">www.jazzascona.ch</a></b><br>=20 <small>PPK ScrenDesign Gordevio</b> ® 2000<br>=20 <a href=3D"mailto:info_(at)_ticinonline.to">info_(at)_ticinonline.to</a></small>=20 </div>=20 <div align=3D"center"><b>(Click the thumbnails to enlarge ­ Total in = this page: =20 <?php echo count($images); ?> images)</b></small> </div> <table border=3D"5" cellspacing=3D"0" cellpadding=3D"6">=20 <tr>=20 <!-- STARTOF TABLE CELL DISPLAY PHP CODE -->=20 <!-- DO NOT ALTER IT -->=20 <?php=20 while ( list( $key, $fileName ) =3D each( $images ) )=20 { =20 if( !empty($fileName) ) =20 { =20 $tamanho =3D GetImageSize( "$fileName");=20 $largura =3D $tamanho[0] + 18;=20 $altura =3D $tamanho[1] + 28;=20 echo " <td align=3D\"CENTER\" valign=3D\"TOP\"><a = href=3D'javascript:openPopWin(\"$fileName\", $largura, $altura, \"\", = $pop_leftmargin, $pop_topmargin)'><IMG SRC=3D\"$fileName\" border=3D0 = alt=3D\"$count\"";=20 if (!empty($thumb_width)) {echo " width=3D\"$thumb_width\"";}=20 if (!empty($thumb_height)) {echo " height=3D\"$thumb_height\"";}=20 echo "></a><br><small>$count-$fileName</small>";=20 if ($count =3D=3D $break) { =20 echo "\n </td>\n</tr>\n<tr>\n";=20 $break =3D $count + $colunas; =20 }=20 else { echo "</td>\n"; }=20 }=20 $count++;=20 } =20 ?>=20 <!-- ENDOF TABLE CELL CODE PHP-->=20 </tr>=20 </table>=20 </div>=20 <hr>=20 <div align=3D"CENTER">=20 <b>The Jazzascona Performers Photo Gallery</b><br>=20 <small>PPK ScrenDesign Gordevio</b> ® 2000<br>=20 <a href=3D"mailto:info_(at)_ticinonline.to">info_(at)_ticinonline.to</a></small>=20 </div>=20 </BODY>=20 </HTML>=20 ------=_NextPart_000_0000_01BF82EF.5AA32860--
php::bar PHP Wiki - Listenarchive