This is a discussion on My readdir and display images snippet - Thanks within the PHP Language forums, part of the PHP Programming Forums category; On 2007-09-14 19:30:34 -0700, "Rik Wasmus" <luiheidsgoeroe@hotmail.com> said: >>&...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
On 2007-09-14 19:30:34 -0700, "Rik Wasmus" <luiheidsgoeroe@hotmail.com> said:
>>>> >>>> echo "<img src='images/$file' class=\"pad1em\">"; > > Hmm, are you sure about the class name? I'd say that on a new layout wit h > the same HTML 'pad1em' could end up making very little sense. A golden > rule of css is that a classname should reflect what something is, not ho w > it is _displayed. A more suitable name could be something like > 'imagepreview' or the like. > >> > > Oh yeah. > (Just make sure the file is a proper image directly after an upload. > Examining extention or mime-type is no good. I'm quite happy to us > getimagesize() for this purpose, as it would return false if it couldn't > interpret a file as an image.) > > And to display only files _ending_ in jp(e)g, I'd use > preg_match('/\.jpe?g$/i',$string); > -- > Rik Wasmus Rik, Thanks for responding. In this case the class name is what it is. ..pad1em{padding: 1em;} Was just messing with some spacing and will rename if I add some pretty decorations. Any suggestions for this class? thx..ron |
|
|||
|
>>
>> Steve, >> >> Wow, way too much time on your hands. :) > > i think when i originally wrote that, it took all of about 5 minutues. ;^) > >> My first goal was to get my pics to display, then get rid of the . and >> .., now I will fix the code to the example you gave before if you say >> it's faster. Then,(light drumroll...), I want to read everything in >> thumbs and create my output so I get the thumbto link to a larger pic >> in images. Some sort of anchor tag thing. THAT would be cool to me. >> Then I can rewrite about 20 pages, export 20 albums as thumbs and 20 >> albums as images... :) > > you realize you don't have to have a thumb of each pic in order to > generate a thumb, right? > > if you'd like, i can post a class that does this based on the actual > image, and then show how to use it in your main script. Well hell yeah, post away! I was trying to do it myself as I see a lot of posts asking for free work. :) At this point storage isn't an issue and it takes 20 seconds to generate the thumbs and the resized images from iPhoto. As opposed to if I had a 1600x1200 pic and uploaded I think that takes more storage than a 800px pic and a 100px thumb. Let me see if I can write a script to calculate the storage difference... :) So when I take pics I make a dir and make images and thumbs dir inside of that. The I have a very simple php page with includes for header and footer. Change the title, add my paragraph or two and then my thumbs output. I tried to use iWeb for plain export of html pages but ends up being more work because every file extension needs to be changed to php, footer and header added, css line to be added. UGH. So in 67 lines of code or less, read my images, display as thumbs linking back to the originals, sorted by filename... :) Thanks, Ron |
|
|||
|
"Confused but working on it" <PostInGroups@wherever.com> wrote in message news:2007091523044150073-PostInGroups@wherevercom... >>> >>> Steve, >>> >>> Wow, way too much time on your hands. :) >> >> i think when i originally wrote that, it took all of about 5 minutues. >> ;^) >> >>> My first goal was to get my pics to display, then get rid of the . and >>> .., now I will fix the code to the example you gave before if you say >>> it's faster. Then,(light drumroll...), I want to read everything in >>> thumbs and create my output so I get the thumbto link to a larger pic in >>> images. Some sort of anchor tag thing. THAT would be cool to me. Then I >>> can rewrite about 20 pages, export 20 albums as thumbs and 20 albums as >>> images... :) >> >> you realize you don't have to have a thumb of each pic in order to >> generate a thumb, right? >> >> if you'd like, i can post a class that does this based on the actual >> image, and then show how to use it in your main script. > > Well hell yeah, post away! > > I was trying to do it myself as I see a lot of posts asking for free work. > :) > > At this point storage isn't an issue and it takes 20 seconds to generate > the thumbs and the resized images from iPhoto. As opposed to if I had a > 1600x1200 pic and uploaded I think that takes more storage than a 800px > pic and a 100px thumb. Let me see if I can write a script to calculate the > storage difference... :) > > So when I take pics I make a dir and make images and thumbs dir inside of > that. The I have a very simple php page with includes for header and > footer. Change the title, add my paragraph or two and then my thumbs > output. I tried to use iWeb for plain export of html pages but ends up > being more work because every file extension needs to be changed to php, > footer and header added, css line to be added. UGH. > > So in 67 lines of code or less, read my images, display as thumbs linking > back to the originals, sorted by filename... ok...call this script get.thumb.nail.php (or whatever you'd like). site.cfg.php is a configuration script that objectifies different things for my site...in this case, where included directories are. hard-code as you see fit. below this main script you'll find the functions used and supplied by functions.inc.php. finally, below that, you'll see an example use of everything together. if you have questions or need help, just post back. cheers... ======== get.thumb.nail.php <? require_once 'site.cfg.php'; require_once $site->includeDirectory . 'functions.inc.php'; $fileName = $_REQUEST['fileName'] ? $_REQUEST['fileName'] : $_REQUEST['altImage']; $maxSize = $_REQUEST['maxSize'] ? $_REQUEST['maxSize'] : 200; $filePath = $site->imagesDirectory; $fileData = @file_get_contents($filePath . $fileName); $originalImage = @imagecreatefromstring($fileData); @list($imageWidth, $imageHeight, $imageType, $imageAttributes) = @getimagesize($filePath . $fileName); $newImageHeight = $imageWidth < $maxSize ? $imageHeight : ($imageHeight / $imageWidth) * $maxSize; $newImageWidth = $imageWidth < $maxSize ? $imageWidth : $maxSize; $thumbNail = @imagecreatetruecolor($newImageWidth, $newImageHeight); @imagecopyresampled( $thumbNail, $originalImage, 0, 0, 0, 0, $newImageWidth, $newImageHeight, @imagesx($originalImage), @imagesy($originalImage) ); @imagejpeg($thumbNail); @imagedestroy($thumbNail); @imagedestroy($originalImage); ?> ====== get.file.php <? require_once 'site.cfg.php'; $fileData = ''; $fileName = $_REQUEST['fileName']; $filePath = $site->uploadBaseDirectory; if ($fileName != ''){ $fileData = @file_get_contents($filePath . $fileName); } header('pragma: public' ); header('expires: 0' ); header('cache-control: private', false ); header('cache-control: must-revalidate, post-check=0, pre-check=0' ); header('content-disposition: attachment; filename="' . $fileName . '"' ); header('content-size: ' . count($fileData) ); header('content-transfer-encoding: binary' ); header('content-type: application/octet-stream' ); echo $fileData; ?> ======= test.php <? $sql = " SELECT Id , Description , FileName , FileSize , FileType , DATE_FORMAT(Stamp, '%m/%d/%Y %H:%i:%s') Stamp FROM upLoads ORDER BY FileName "; $records = db::execute($sql); foreach ($records as $row => $record) { $queryString = "?fileName=" . $record['FILENAME'] . "&maxSize=200"; ?> <a href="<?= $site->uri ?>get.file.php<?= $queryString ?>" style="font-size:12pt;" > <img src="<?= $site->uri ?>get.thumb.nail.php<?= $queryString ?>" alt="<?= $record['DESCRIPTION'] ?>" title="Click To Open: <?= $record['DESCRIPTION'] ?>" /> </a> <? } ?> |
|
|||
|
On 2007-09-16 16:56:01 -0700, "Steve" <no.one@example.com> said:
<snip> ?> > <a > href="<?= $site->uri ?>get.file.php<?= $queryString ?>" > style="font-size:12pt;" > > > <img > src="<?= $site->uri ?>get.thumb.nail.php<?= $queryString ?>" > alt="<?= $record['DESCRIPTION'] ?>" > title="Click To Open: <?= $record['DESCRIPTION'] ?>" > /> > </a> > > <? > } > ?> Steve, Thanks for posting this. I did a cut and paste and will rty to implement soon. Have had to work the past few days. :) Thanks, Ron |
|
|||
|
"Confused but working on it" <PostInGroups@wherever.com> wrote in message news:2007091908554916807-PostInGroups@wherevercom... > On 2007-09-16 16:56:01 -0700, "Steve" <no.one@example.com> said: > <snip> > ?> >> <a >> href="<?= $site->uri ?>get.file.php<?= $queryString ?>" >> style="font-size:12pt;" >> > >> <img >> src="<?= $site->uri ?>get.thumb.nail.php<?= $queryString ?>" >> alt="<?= $record['DESCRIPTION'] ?>" >> title="Click To Open: <?= $record['DESCRIPTION'] ?>" >> /> >> </a> >> >> <? >> } >> ?> > > Steve, > > Thanks for posting this. I did a cut and paste and will rty to implement > soon. Have had to work the past few days. :) > > Thanks, > Ron no problem. let me know how it goes. |