Newbie: How to generate multiple web pages with one PHP script

This is a discussion on Newbie: How to generate multiple web pages with one PHP script within the PHP Language forums, part of the PHP Programming Forums category; Hello, this is my first on this list. I have a photography website and I want to gradually convert it ...


Go Back   Usenet Forums > PHP Programming Forums > PHP Language

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 01-20-2007
Maxim Heijndijk
 
Posts: n/a
Default Newbie: How to generate multiple web pages with one PHP script

Hello, this is my first on this list. I have a photography website and I
want to gradually convert it to PHP. I'm new to PHP, but I do have some
Perl knowledge and I am an expert in Bash-scripting (linux). Up till now
I used a script to generate a list of nearly identical html-files like
photo/01.html, photo/02.html, photo/03.html etc.. Every page constists
of a picture with caption an previous/next buttons. The photo's are
numbered 01.jpg, 02.jpg etc. The only varying content in the pages is
the size (horizontal/vertical) of the pictures and the captions. The
whole thing acts as a slide show. I want to write a PHP script which can
replace the list of HTML files, is such a thing possible? TIA, Max.

This is the site what it's about (not a plug!! I only want technical
information) http://www.maccusfoto.nl/

This is the Bash-script I use to generate the pages:

#!/bin/bash

clear

# Check for configuration file

if [ ! -f ./genpages.conf ]; then

echo -e "Configuration file not found! Aborting..."
exit 1

else

echo -e "Reading configuration file..."
sleep 1
. ./genpages.conf
echo -e "Done..."

fi

# Check for base directory

if [ ! -d "${ROOTDIR}" ]; then

echo -e "${ROOTDIR} Not found! Edit configuration file. Aborting..."
sleep 2
exit 1

fi

# Set direcory level

case ${DIRLEVEL} in

1) DIRLEVEL="../";;
2) DIRLEVEL="../../";;
3) DIRLEVEL="../../../";;

esac

LOOPCOUNT="0"

until [ "${LOOPCOUNT}" -ge "${PAGES}" ]; do

# Count the pages and set the variables

LOOPCOUNT="`expr ${LOOPCOUNT} + 1`"

if [ "${LOOPCOUNT}" -lt "10" ]; then

if [ "${LOOPCOUNT}" -eq "9" ]; then

NEXT="$(expr ${LOOPCOUNT} + 1)"

else

NEXT="0$(expr ${LOOPCOUNT} + 1)"

fi

LOOPCOUNT="0${LOOPCOUNT}"
PREV="0$(expr ${LOOPCOUNT} - 1)"

elif [ "${LOOPCOUNT}" -eq "10" ]; then

NEXT="$(expr ${LOOPCOUNT} + 1)"
PREV="0$(expr ${LOOPCOUNT} - 1)"

elif [ "${LOOPCOUNT}" -gt "10" ]; then

NEXT="$(expr ${LOOPCOUNT} + 1)"
PREV="$(expr ${LOOPCOUNT} - 1)"

fi

[ "${PREV}" = "00" ] && PREV="${DIRLEVEL}${STARTPAGE}"
[ "${LOOPCOUNT}" = "${PAGES}" ] && NEXT="${DIRLEVEL}${STARTPAGE}"

# Check for image files

if [ ! -f "${ROOTDIR}/${SUBDIR}/images/${LOOPCOUNT}.jpg" ]; then

echo "No image(s) found in ${ROOTDIR}/${SUBDIR}/images/"

# Create subdirectory

if [ ! -d "${ROOTDIR}/${SUBDIR}" ]; then

mkdir -p "${ROOTDIR}/${SUBDIR}/images/orig"
echo -e "Created ${ROOTDIR}/${SUBDIR}/images. Add your images."

fi

echo -e "Aborting..."
sleep 2
exit 1

fi

ORIENTATION="`identify ${ROOTDIR}/${SUBDIR}/images/${LOOPCOUNT}.jpg
| cut -d " " -f 3`"
WIDTH="`echo ${ORIENTATION} | cut -d "x" -f 1`"
HEIGHT="`echo ${ORIENTATION} | cut -d "x" -f 2`"
CAPTION="`grep "CAPTION_${LOOPCOUNT}=" ./genpages.conf | sed
"s|CAPTION_${LOOPCOUNT}=|| ; s|[\\\"]||g"`"

# Write the HTML pages

echo "Writing ${ROOTDIR}/${SUBDIR}/${LOOPCOUNT}.html"

echo -e "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">

<html xmlns=\"http://www.w3.org/1999/xhtml\">

<head>

<title>${GENERAL_TITLE} - Photo ${LOOPCOUNT}</title>

<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
<meta http-equiv=\"refresh\" content=\"15;URL=${NEXT}.html\" />
<meta name=\"author\" content=\"Fotografie &amp; Webdesign:
Maxim Heijndijk\" />
<meta name=\"copyright\" content=\"Fotografie &amp; Webdesign:
Maxim Heijndijk\" />

<link rel=\"stylesheet\" type=\"text/css\"
href=\"${DIRLEVEL}../index.css\" />

</head>

<body oncontextmenu=\"return false\">

<table summary=\"${GENERAL_TITLE} - Photo ${LOOPCOUNT}\"
align=\"center\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"
width=\"100%\" class=\"caption\">

<tr>

<td align=\"right\" valign=\"bottom\" width=\"10%\">
<a href=\"${PREV}.html\"><img alt=\"Previous\"
src=\"${DIRLEVEL}images/prev.gif\" border=\"0\" width=\"22\"
height=\"24\" /></a>
</td>

<td align=\"center\" valign=\"bottom\" width=\"80%\">
<a href=\"${NEXT}.html\"><img alt=\"${IMG_ALT}\"
src=\"images/${LOOPCOUNT}.jpg\" border=\"0\" width=\"${WIDTH}\"
height=\"${HEIGHT}\" /></a>
</td>

<td align=\"left\" valign=\"bottom\" width=\"10%\">
<a href=\"${NEXT}.html\"><img alt=\"Next\"
src=\"${DIRLEVEL}images/next.gif\" border=\"0\" width=\"22\"
height=\"24\" /></a>
</td>

</tr>

<tr>

<td align=\"center\" nowrap=\"nowrap\" valign=\"top\" width=\"100%\"
height=\"10%\" colspan=\"3\">
<br />
${CAPTION}
<br />
<br />
</td>

</tr>

</table>

</body>

</html>" > "${ROOTDIR}/${SUBDIR}/${LOOPCOUNT}.html"

done

# Backup the configuration
cp -f "./genpages.conf" "${ROOTDIR}/${SUBDIR}/genpages.conf"

exit 0
Reply With Quote
  #2 (permalink)  
Old 01-20-2007
Paul Lautman
 
Posts: n/a
Default Re: Newbie: How to generate multiple web pages with one PHP script

Maxim Heijndijk wrote:
> The whole thing acts as a slide show. I
> want to write a PHP script which can replace the list of HTML files,
> is such a thing possible?


Yes


Reply With Quote
  #3 (permalink)  
Old 01-20-2007
Arjen
 
Posts: n/a
Default Re: Newbie: How to generate multiple web pages with one PHP script

Paul Lautman schreef:
> Maxim Heijndijk wrote:
>> The whole thing acts as a slide show. I
>> want to write a PHP script which can replace the list of HTML files,
>> is such a thing possible?

>
> Yes


That's helpfull !

Your original solution is actually the best solution. No stress on the
server whatsoever. If I were you I would not change it unless you want
some extra functionality like dynamic alt tags or file upload (to make
life easier)

There are millions of scripts around that will do what u want so choose
one and modify it (if you kow perl you can read a good deal of php as
well). Personally I would not trust php with image manipulation (cause
it isn't that good) and I would use a database to store image meta data
(NOT the image itself).

So have a go at it and if you run into trouble just post ur code here

--
Arjen
http://www.hondenpage.com
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 02:23 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0