First of all, thanks very much for providing this forum. It is very much appreciated!
My son-in-law created a php script for my website about 10 years ago to show pictures like a manual slideshow, and it worked fine until we moved to a new server.
Now the first pic shows a . , the second shows .. , and the third shows the first pic.
He told me to add a # before @files in the
#remove the .. and . directories
and it should remove the dots but it does not. He can't think of any other suggestions. The full code is as follows:
#!/usr/bin/perl
#this script will act as a type of slide show
use CGI;
if(CGI::param('directory') eq undef) {
print CGI::header();
open(F, "pictures.txt");
chop(@directories = <F>);
close(F);
foreach (@directories) {
my($pDirectory, $title) = split(/::/);
my($hrefTitle) = $title;
$pDirectory = $pDirectory;
#remove the spaces
$pDirectory =~ s/ /%20/g;
$hrefTitle =~ s/ /%20/g;
print " <A HREF="/cgi-bin/pics.pl?directory=$pDirectory&title=$hrefTitle">$title</A><BR>";
}
} else {
#variables
my($serverRoot) = "/home/ma3ry/christiangays.com";
my($directory) = "/" . CGI::param('directory');
my($i) = 0;
my($max) = 0;
my(@files) = ();
$i = CGI::param('picNum') unless(CGI::param('picNum') == undef);
#open the directory
if(opendir(DIR, "$serverRoot/$directory")) {
#read in the contents of the directory
my(@files) = readdir(DIR);
#remove the .. and . directories
#@files = splice(@files, 2);
#sort the files
@files = sort(@files);
#find out how many pics there are
my($max) = @files *1;
#build the page
&createPage($directory, $files[$i], $i, $max, CGI::param('directory'), CGI::param('title'));
#close the directory
closedir(DIR);
} else {
#directory is not found
print "Content-type: text/htmlnn";
print "Couldn't open directory $directory!nn";
}
}
exit(0);
sub createPage {
my($directory) = shift;
my($picName) = shift;
my($i) = shift;
my($max) = shift;
my($hrefDirectory) = shift;
my($title) = shift;
my($j) = $i - 1;
$i++;
print "Content-type: text/htmlnn";
print (<<HTML);
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML LANG="en">
<HEAD>
<meta http-equiv="Content-Language" content="en-us">
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-">
<META NAME="generator" CONTENT="Jeff Berwick OR A PROGRAM WRITTEN BY HIM">
<META NAME="AUTHOR" CONTENT="Jeff Berwick">
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/css.css">
</HEAD>
<BODY>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="LAYOUT" width="100%">
<TR>
<TD>
<img src="/images/blank.gif" width="10" height="1" alt="" border="0">
</td>
<TD class="yellow">
<img src="/images/blank.gif" width="15" height="1" alt="" border="0">
</td>
<td class="yellow2">
<BR><BR><BR>
HTML
#replace the spaces
$title =~ s/ /%20/g;
if($j >= 0) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=$j">Previous</a><BR><BR>n";
} else {
print "previous<BR><BR>n";
}
if($i - 10 > 0) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=", $i - 11, "">Jump back<BR> 10 pictures</a><BR><BR>n";
} else {
print "Jump back<BR> 10 pictures<BR><BR>n";
}
if($i - 1 != 0) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=0">Start</a>n";
} else {
print "startn";
}
#put the spaces back in
$title =~ s/%20/ /g;
print(<<HTML);
<BR><BR>
<BR><BR>
<a href="/pics.shtml">Return to pictures list</a>
</td>
<td class="yellow">
<H1 class="center">$title</H1>
<P class="main2">
You are viewing picture $i of $max
</P>
<P class="main2">
<img src="$directory/$picName" alt="$picName" border="0">
</P>
<BR><BR>
</td>
<td class="yellow3">
<BR><BR><BR>
HTML
#drop the extra one off the end
$max--;
#take out the spaces
$title =~ s/ /%20/g;
if($i <= $max) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=$i">Next</a><BR><BR>n";
} else {
print "next<BR><BR>n";
}
if($i <= $max - 10) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=", $i + 9, "">Jump ahead<BR> 10 pictures</a><BR><BR>n";
} else {
print "Jump ahead<BR> 10 pictures<BR><BR>n";
}
if($i <= $max) {
print "<a href="/cgi-bin/pics.pl?directory=$hrefDirectory&title=$title&picNum=", $max, "">End</a>n";
} else {
print "endn";
}
print (<<HTML);
<BR><BR>
<BR><BR>
<a href="/index.shtml">Return to ChristianGays.com</a>
</td>
<TD class="yellow">
<img src="/images/blank.gif" width="15" height="1" alt="" border="0">
</td>
<TD>
<img src="/images/blank.gif" width="10" height="1" alt="" border="0">
</td>
</tr>
</table>
</BODY>
</HTML>
HTML
}
paginate search result
Hi, I have a paginations script to display data from my database but i would like to paginate someones search results. I have this script but get an error that says "syntax error, unexpected '=',
Agency Business Process
Hi,
Using CSS to format MySQL query
Hi,If i want to have a news page on my site, which displays all records of a table in descending order by date I am using the below code. I can display it all in a big table but this is a bit boring.
Display thumbnails as square while retaining aspect ratio
I am trying to figure out a way to make an image display as a square, for example 80x80 pixels, when the source file is rectangular.The catch is that I want the image to look normal (not squished) so
Seperate team from score
I am writing a site that does a NFL Pick 'em type application and I have a feed that gives me the scores of the NFL games every week I have it split apart down to each game two teams and a score
PHP Directory Listing Not working
Hey Guys,I need help, I tried a ton of directory listing scripts and they all don't work. Althogh the normal Apache Directory Indexing does work when you visit. The URL is
Parse error: syntax error, unexpected T_ELSEIF in /home/......html/item.php on l
I do not know what is wrong with this. Hope some one can help. I do nto want to post the entire site because it is to long. However, here is the few lines:$TPL_closed_auctions_list .=
i want run some web server under the ip sharer
hello i want run some web server under the ip sharer
Strange PHP/mySQL error ... am I just tired?
Code: <?## CONNECT TO DB FUNCTION!function ConnectTo($db2con){ $hostName = "localhost"; $dbName = "people_".$db2con; $userName = "people_main"; $password =
Displaying different page content, depending on the logged in user.
Hi all, I am new to ASP.net (and web development in general), and have a question about how I can display different page content depending on the current user.I wish to create a digg style social news