Jump to content

. and .. appearing instead of pictures


marypearson

Recommended Posts

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/html\n\n";

print "Couldn't open directory $directory!\n\n";

}

}

 

 

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/html\n\n";

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 "start\n";

}

 

#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 "end\n";

}

 

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

 

}

 

 

 

 

Link to comment
https://forums.phpfreaks.com/topic/177623-and-appearing-instead-of-pictures/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.