. 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 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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 Like 45 Dislike
Previous forums Next forums
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

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash