. 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
problem when runing a funciton
I am trying to connect to database using a funciton in a functions.php
<?php
funct
MySQL query problem
When I try to run the following piece of code, I get this error:
QuoteWarning: mysql_query(): sup
check comment for html
hi, I just wanted to check if a comment a user posts contains HTML, and if it does, to not allow it
Call to undefined function mysql_fetch_accoc()
New to php/mysql coding. What's wrong with this sequence, or am I
just not seeing to obvious?
FTP issues
Hi all,
I am currently facing some serious problems with a script and really need some ad
How to restrict the display of report variants
Hello All,
I want t know how to restrict the display of report variants.
I mean, whe
What are causes of a connection-timeout with fopen()?
Hello! Here is the situation: The server I host my website on just upgraded it's PHP build from 4.4.
Contents of variable not echoing
Hey guys, hopefully this is an easy one...
In this line, the variables are not echoing out. T
Google Wave
So... has anyone used it yet? Is it any good?
http://wave.google.com/help/wave/about.html#vid
Problem with Sending Mail by PHP
hello all,
I m new to php, can u plz provide me the code to send mail by php having CAPTC