. and .. appearing instead of pictures
Posted on
16th Feb 2014 07:03 pm by
admin
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
}
No comments posted yet
Your Answer:
Login to answer
99
45
Other forums
Display Database
I need to create a shopping cart. I found this code online: http://conceptlogic.com/jcart/
Unfort
Shopping Cart
Can anyone direct me to a Simple, Basic structure of a shopping cart.
New to classes. I want to s
Data type mismatch
Hi,
I am migrating data from algol to c.I mapped real datatype in algol to double datatype in
Javascript form submit and radio buttons?
When this form is submitted, it is automatically resubmitted using JS.
All my fields are carr
Output Full URL of Current Page
Let's say I am currently viewing a dynamic page:
http://www.mydomain.com/directory/index.php
Help with ORDER BY
Hello. I would like to order by ascending States, then Cities, then Gyms in the following code, but
Anti Spam Code
Ok where do i start? Probably by telling you I have very little working knowledge of PHP and that I
insert quotes
Hi,
I have an output like this:
Code: john,18,Cancer
How can I change this to
Code:
Access database inside of a validation class
Hello,
For quite some time, I have been using functions to validate form input and access the
Creating Images from images in PHP
Okay well I am trying to make a 'dynamic' calender image with PHP.
I have images like this: