#!C:/Perl/bin/perl.exe -w use strict; use CGI; my $q = new CGI; my $q_image = $q->param('image'); my $image_url = "/images"; my @images = map { /([^\/]+)$/ } <../htdocs$image_url/*.jpg>; $q_image = $images[0] if ! defined $q_image; my $html = do { local $/; <DATA> }; $html =~ s/%%([^%]*)%%/ if ($1 eq "IMAGE") { image_link() } elsif ($1 eq "PREV") { prev_link() } else { next_link() } /ge; print $q->header, $html; sub image_link { return qq{<img src="$image_url/$q_image" alt="$q_image">}; } sub prev_link { return qq{<a href='/cgi-bin/p109.pl?image=}.get_prev_image().qq{'> +PREV</a>}; } sub next_link { return qq{<a href='/cgi-bin/p109.pl?image=}.get_next_image().qq{'> +NEXT</a>}; } sub get_prev_image { my %hash = map { $images[$_] => $_ } 0..$#images; return $images[$hash{$q_image}-1]; } sub get_next_image { my %hash = map { $images[$_] => $_ } 0..$#images; my $next = $hash{$q_image}+1; $next = 0 if $next > $#images; return $images[$next]; } __DATA__ <HTML> <TITLE>Simple Image Slideshow CGI in Perl</TITLE> <BODY> <TABLE align=center> <tr><td align=center>%%PREV%%</td><td align=center>%%NEXT%%</td></tr> <tr><td colspan=2>%%IMAGE%%</td></tr> </TABLE> </BODY> </HTML>
In reply to Re: CGI Image on localhost
by Roger
in thread CGI Image on localhost
by eoin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |