其他功能

5.别样杂项5.1生成图像PHP能够操作管理图像。假使您早就设置了GD库,你仍可以够使用PHP生成图像。?Header(“Content-type:image/gif”State of Qatar;$string=implode($argv,””卡塔尔(قطر‎;$im=imagecreatefromgif(“images/button1.gif”卡塔尔;$orange=ImageColorAllocate($im,220,210,60卡塔尔;$px=(imagesx($imState of Qatar-7.5*strlen($string卡塔尔卡塔尔(قطر‎/2;ImageString($im,3,$px,9,$string,$orange卡塔尔(قطر‎;ImageGif($imState of Qatar;ImageDestroy($im卡塔尔国;?这段代码在其余页面中经过以下标识imgsrc=”button.php3?text”调用,然后以上的这段button.php3代码获得text值并在别的获得的图像文件中丰盛该值–在以上的代码中该图像文件是images/button1.gif–最后输出到浏览器。假让你想在表单域中运用图像开关,不过又不期待在每一回按键上的文字退换后不能不再次生成新的图像,就能够动用那样简单的点子动态变化图像文件。5.2CookiesPHP帮助基于HTTP的cookies。在须求时你能够像使用相通变量相似方便的应用cookie。库克ies是浏览器保存于客商端的有的音信片段,由此你可知是或不是一台一定PC上的任哪个人都访问过你的站点,浏览者者在您的站点上的踪影等等。使用cookies的超尘拔俗例子正是对浏览者偏心的辨识。Cookies由函数setcookie(卡塔尔国设定。与出口HTTP标头的函数header(State of Qatar相仿,setcookie(State of Qatar必需在其余实际内容杯输出到浏览器以前调用。以下是八个轻便例子:?if(empty($VisitedBefore卡塔尔国State of Qatar{//若无设定cookie,为cookie赋上这几天时光值//函数中的最终七个参数评释了该cookie保存的年华//在这里个例子中是1年//time(卡塔尔函数重临自1966年1七月1日的话的以秒数计的年月SetCookie(“VisitedBefore”,time(卡塔尔国,time(卡塔尔国+(60*60*24*365卡塔尔卡塔尔;}else{//款待浏览者再一次光顾echo”Hellothere,welcomebackBWrangler”;//读取cookie并判别if((time(卡塔尔-$VisitedBefore卡塔尔(قطر‎=”(60*60*24*7)”)echo”Whydidyoutakeaweektocomeback.Youshouldbeheremoreoften!?”;}?5.3依据HTTP验证基于HTTP验证当PHP以CGI情势运作时不可能促成。大家能够运用函数header(卡塔尔国发送HTTP标头免强验证,客商端浏览器则弹出供输入客商名和密码的对话框。那四个变量被储存在$PHP_AUTH_USER和$PHP_AUTH_PW中,你能够选取那多少个变量验证合法并允许步向。以下的例子通过顾客名称/密码对为tnc/nature的求证一名客户的登入:?if(!isset($PHP_AUTH_USER)){Header(“WWW-Authenticate:Basicrealm=/”MyRealm/””);Header(“HTTP/1.0401Unauthorized”);echo”TexttosendifuserhitsCancelbutton/n”;exit;}else{if(!($PHP_AUTH_USER==”tnc”&&$PHP_AUTH_PW==”nature”卡塔尔(قطر‎State of Qatar{//假若是不当的顾客名称/密码对,免强再验证Header(“WWW-Authenticate:Basicrealm=/”MyRealm/””State of Qatar;Header(“HTTP/1.0401Unauthorized”卡塔尔国;echo”EWranglerRO逍客:$PHP_AUTH_USER/$PHP_AUTH_PWisinvalid.”;exit;}else{echo”Welcometnc!”;}?事实上再实际援引中相当的小也许如下边运用代码段分明的客商名称/密码对,而是采纳数据库或许加密的密码文件存取它们。5.4文书上传你能够接纳PHP落成文件的效能,注意客商端的浏览器应该是Netscape3以上或许IE3以上。以下正是该功能的简要演示:(upload.html卡塔尔:HTMLHEADTITLEUploadYourFile/TITLE/HEADBODYFORMACTION=”receiver.php3″ENCTYPE=”multipart/form-data”METHOD=POSTINPUTTYPE=”HIDDEN”NAME=”MAX_FILE_SIZE”VALUE=”2000000″INPUTTYPE=”FILE”NAME=”uploadfile”SIZE=”24″MAXLENGTH=”80″BRBRINPUTTYPE=”SUBMIT”VALUE=”UploadFile!”NAME=”sendit”INPUTTYPE=”SUBMIT”VALUE=”Cancel”NAME=”cancelit”B昂科拉/FORMIFONTSIZE=”2″(Youmaynoticeaslightdelaywhileweuploadyourfile.卡塔尔/FONT/I/BODY/HTML上面是管理上传的公文:(receiver.php3卡塔尔国:?functiondo_upload(){global$uploadfile,$uploadfile_size;global$local_file,$error_msg;if($uploadfile==”none”){$error_msg=”Youdidnotspecifyafileforuploading.”;return;}if($uploadfile_size2000000){$error_msg=”Sorry,yourfileistoolarge.”;return;}$the_time=time(卡塔尔;//你供给对以下目录有写权限$upload_dir=”/local/uploads”;$local_file=”$upload_dir/$the_time”;if(file_exists(‘$local_file’)){$seq=1;while(file_exists(“$upload_dir/$the_time$seq”)){$seq++;}$local_file=”$upload_dir/$the_time$seq”;};rename($uploadfile,$local_file);display_page();}functiondisplay_page(卡塔尔(قطر‎{//这里是您的页面内容}HTMLHEADTITLEphp3ReceivingScript/TITLE/HEADBODY?if($error_msg){echo”B$error_msg/BBRBR”;}if($sendit){do_upload();}elseif($cancelit){header(“Location:$some_other_script”);exit;}else{some_other_func(State of Qatar;}?/BODY/HTML5.5常用函数大家大约来看看一些常用的函数。数组array-生成数组count-数组元素个数sort-数组排序,另有此外二种排序函数可供使用list-列出数组成分each-重返下一个key/value对current-重返当前数组成分next,prev-传回当前数组成分前后指针日期和岁月checkdate-验证日期/时间格式date-生成日期/时间格式time-当前时光音讯strftime-格式化日期/时间目录、文件系统chdir-退换目录dir-目录种类opendir,readdir,closedir-开启、读取、关闭目录fopen,fclose-开启、关闭文件fgets,fgetss-逐行读取内容file-将全部文件读入一个数组变量中正则表明式ereg-相配正则表明式eregi-大小写非敏感相称正则表达式ereg_replace-相配正则表明式并替换eregi_replace-大小写非敏感相配正则表明式并替换split-依准则切开字符串并以数组时局存款和储蓄字符串AddSlashes-加上斜杠后接纳字符串echo-输出叁个或四个字符串join,implode-将数组成分归拢为字符串htmlentities,htmlspecialchars-将HTML特殊字符转变为HTML标识方式split-依准则切开字符串并以数组局势存款和储蓄5.6恢宏大家的表率主页大家将使用上述关联的有个别函数和思辨为大家的轨范主页增添越多的动态内容。大家能够在每种页面包车型客车顶端加上导航栏,同时使稳妥前页自动的不被链接显示;同一时间仍是可以够增进二个顾客验证表单以便上传音乐、图像等文件并自动更新页面。导航栏实际上正是在footer.inc文件中增加一段代码。倘令你的web站点中有所后缀为.php3的文件都会现出在导航栏中,以下就是被存为include/navbar.inc的代码:?/*输出该导航栏,链接全体除当前页的站内.php3文件*/#读取目录$d=dir(“./”卡塔尔(قطر‎;echo”PALIGN=/”CENTEPAJERO/”|/n”;while($entry=$d-read(卡塔尔(قطر‎卡塔尔{//忽视无文件境况if(!is_file($entry))continue;/*将文件名与扩大名分别。由于.是正则表明式特殊字符,应该用/引出*/list($filenm,$fileext卡塔尔(قطر‎=split(“/.”,$entry,2卡塔尔国;//忽视非.php3文件情状if($fileext!=”php3″)continue;/*最近我们曾经把.php3文件都选出,上面搜寻文件中的第一行相符$title=”something”;并将上述标题内容分别,用作链接文字*/$linknm=””;$fp=fopen($entry,”r”State of Qatar;while($buffer=fgets($fp,4096卡塔尔卡塔尔{$buffer=trim($buffer卡塔尔(قطر‎;//大家早就把各类文件的标题放在文件的第一行以便查找//不过当你改造变量名称时也许会带给大麻烦if(ereg(“title*=*/””,$buffer)){/*大家曾经收获了题目内容并能够在这里底工上举办去除空格等管理。必须以PHP代码方式管理,譬喻$title=”blahblah”*/eval($buffer卡塔尔;//然后将链接文字呈现为标题文字$linknm=$title;break;}}fclose($fp卡塔尔国;if($entry==basename($PHP_SELF卡塔尔(قطر‎卡塔尔(قطر‎echo”$linknm”;elseecho”AHREF=/”$entry/”$linknm/A”;echo”|”;}$d-close(卡塔尔;echo”/P/n”;?照片收藏夹大家将援引基于HTTP的证实、文件系统函数和文件上传功效维护放置图像文件的目录。同期大家需求树立二个能够列出在该目录下具备照片的页面。文件上传?include(“include/common.inc”卡塔尔国;//大家在那再做叁回客户验证if(!isset($PHP_AUTH_USER)){Header(“WWW-Authenticate:Basicrealm=/”$MySiteName/””);Header(“HTTP/1.0401Unauthorized”);echo”Sorry,youarenotauthorizedtouploadfiles/n”;exit;}else{if(!($PHP_AUTH_USER==$MyName&&$PHP_AUTH_PW==$MyPassword卡塔尔国State of Qatar{//要是是大谬否则的顾客名称/密码对,强迫再度印证Header(“WWW-Authenticate:Basicrealm=/”MyRealm/””卡塔尔;Header(“HTTP/1.0401Unauthorized”卡塔尔(قطر‎;echo”E大切诺基ROTiggo:$PHP_AUTH_USER/$PHP_AUTH_PWisinvalid.P”;exit;}}if($cancelit卡塔尔国{//当浏览者按下”撤销”按键则转向首页面header(“Location:front_2.php3″);exit;}functiondo_upload(){global$userfile,$userfile_size,$userfile_name,$userfile_type;global$local_file,$error_msg;global$HTTP_REFERER;if($userfile==”none”){$error_msg=”Youdidnotspecifyafileforuploading.”;return;}if($userfile_size2000000){$error_msg=”Sorry,yourfileistoolarge.”;return;}//Whereveryouhavewritepermissionbelow…$upload_dir=”photos”;$local_file=”$upload_dir/$userfile_name”;if(file_exists($local_file)){$error_msg=”Sorry,afilewiththatnamealreadyexists”;return;};//你还能经过检查文件名称/类型对以显明是何种文件:gif,jpg,DVD…rename($userfile,$local_file);echo”ThefileisuploadedBR/n”;echo”AHREF=/”$HTTP_REFEREKoleos/”GoBack/ABR/n”;}$title=”UploadFile”;include(“include/header.inc”State of Qatar;if(empty($userfileState of Qatar$userfile==”none”卡塔尔国{//输出以下表单?FORMACTION=”?echo”$PHP_SELF”;?”ENCTYPE=”multipart/form-data”METHOD=POSTINPUTTYPE=”HIDDEN”NAME=”MAX_FILE_SIZE”VALUE=”2000000″INPUTTYPE=”FILE”NAME=”userfile”SIZE=”24″MAXLENGTH=”80″BRBRINPUTTYPE=”SUBMIT”VALUE=”UploadFile!”NAME=”sendit”INPUTTYPE=”SUBMIT”VALUE=”Cancel”NAME=”cancelit”BR/FORMIFONTSIZE=”2″(Youmaynoticeaslightdelaywhileweuploadyourfile.)/FONT/I?}else{if($error_msg){echo”B$error_msg/BBRBR”;}if($sendit){do_upload(State of Qatar;}}include(“include/footer.inc”卡塔尔(قطر‎;?照片图库?include(“include/common.inc”卡塔尔国;$title=”Gallery”;include(“include/header.inc”卡塔尔国;?PHerearesomeofourfamilyphotos.ThisPHPscriptcanreallybemadebetter,bysplittingintomultiplepages./P?$d=dir(“photos”卡塔尔(قطر‎;while($entry=$d-read(卡塔尔(قطر‎卡塔尔国{if(is_file(“photos/$entry”卡塔尔国卡塔尔国echo”IMGSRC=/”photos/$entry/”/n”;}$d-close(State of Qatar;??include(“include/footer.inc”卡塔尔(قطر‎;?其余,你能够在文件上传的表单中丰裕一个输入成分去描述该上传的文书。那些因素将被贮存在文件中,然后被上述的肖像图库的这段代码所读出并显示出来。

转自php粤语顾客5. 别的杂项
5.1 生成图像

PHP能够操作管理图像。假若你曾经设置了GD库,你居然足以行使PHP生成图像。
<?
Header(“Content-type: image/gif”);
$string=implode($argv,” “);
$im = imagecreatefromgif(“images/button1.gif”);
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,$orange);
ImageGif($im);
ImageDestroy($im);
?>
(译者注:以上代码段缺乏注释,请读者参谋PHP Manual的图像管理函数部分)
这段代码在其余页面中通过以下标识<img
src=”button.php3?text”>调用,然后以上的这段button.php3代码获得text值并在别的获得的图像文件中增添该值–在上述的代码中该图像文件是images/button1.gif–最后输出到浏览器。假令你想在表单域中央银行使图像开关,可是又不指望在每一遍按键上的文字退换后必须要再次生成新的图像,就足以使用那样轻松的主意动态变化图像文件。

5.2 Cookies

PHP协助基于HTTP的cookies。在急需时你能够像使用相符变量同样方便的选拔cookie。Cookies是浏览器保存于客商端的片段音讯片段,由此你能够领略是不是一台一定PC上的任哪个人都访谈过你的站点,浏览者者在你的站点上的踪影等等。使用cookies的杰出例子正是对浏览者偏爱的辨识。Cookies由函数setcookie(卡塔尔国设定。与出口HTTP标头的函数header(卡塔尔(قطر‎同样,setcookie(卡塔尔(قطر‎必需在别的实际内容杯输出到浏览器从前调用。以下是一个简易例子:
<?
if (empty($VisitedBefore))
{
// 如果未有设定cookie,为cookie赋上近日岁月值
// 函数中的最后一个参数证明了该cookie保存的小时
// 在此个例子中是1年
// time(卡塔尔国函数重回自一九七零年1四月1日以来的以秒数计的时光
SetCookie(“VisitedBefore”,time(), time()+(60*60*24*365));
}
else
{
// 应接浏览者再度光降
echo “Hello there, welcome back<BR>”;
// 读取cookie并判断
if ( (time() – $VisitedBefore) >= “(60*60*24*7)” )
echo “Why did you take a week to come back. You should be here more
often!? “;
}
?>

5.3 基于HTTP验证

依据HTTP验证当PHP以CGI情势运作时不能够兑现。我们能够利用函数header(卡塔尔发送HTTP标头免强验证,顾客端浏览器则弹出供输入客户名和密码的对话框。那四个变量被储存在$PHP_AUTH_USER和$PHP_AUTH_PW中,你可以应用那五个变量验证合法并同意走入。以下的事例通过客商名称/密码对为tnc/nature的印证一名客户的记名:
<?
if(!isset($PHP_AUTH_USER))
{
Header(“WWW-Authenticate: Basic realm=”My Realm””);
Header(“HTTP/1.0 401 Unauthorized”);
echo “Text to send if user hits Cancel buttonn”;
exit;
}
else
{
if ( !($PHP_AUTH_USER==”tnc” && $PHP_AUTH_PW==”nature”) )
{
// 假使是破绽非常多的客商名称/密码对,强迫再作证
Header(“WWW-Authenticate: Basic realm=”My Realm””);
Header(“HTTP/1.0 401 Unauthorized”);
echo “ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.”;
exit;
}
else
{
echo “Welcome tnc!”;
}
?>
实在再实际引用中超小或者如上边运用代码段显著的客户名称/密码对,而是使用数据库或许加密的密码文件存取它们。

5.4 文件上传

你能够利用PHP实现文件的效应,注意顾客端的浏览器应该是Netscape3以上也许IE3以上。以下正是该作用的简短演示:
( upload.html ):
<HTML>
<HEAD>
<TITLE>Upload Your File</TITLE>
</HEAD>
<BODY>
<FORM ACTION=”receiver.php3″
ENCTYPE=”multipart/form-data” METHOD=POST>
<INPUT TYPE=”HIDDEN”
NAME=”MAX_FILE_SIZE” VALUE=”2000000″>
<INPUT TYPE=”FILE”
NAME=”uploadfile” SIZE=”24″ MAXLENGTH=”80″>
<BR><BR>
<INPUT TYPE=”SUBMIT” VALUE=”Upload File!”
NAME=”sendit”>
<INPUT TYPE=”SUBMIT” VALUE=”Cancel”
NAME=”cancelit”><BR>
</FORM>
<I><FONT SIZE=”2″>(You may notice a slight
delay while we upload your file.)</FONT></I>
</BODY>
</HTML>

上面是管理上传的公文:
( receiver.php3 ):
<?
function do_upload ()
{
global $uploadfile, $uploadfile_size;
global $local_file, $error_msg;
if ( $uploadfile == “none” )
{
$error_msg = “You did not specify a file for uploading.”;
return;
}
if ( $uploadfile_size > 2000000 )
{
$error_msg = “Sorry, your file is too large.”;
return;
}
$the_time = time ();
// 你须要对以下目录有写权限
$upload_dir = “/local/uploads”;
$local_file = “$upload_dir/$the_time”;
if ( file_exists ( ‘$local_file’ ) )
{
$seq = 1;
while ( file_exists ( “$upload_dir/$the_time$seq” ) ) { $seq++; }
$local_file = “$upload_dir/$the_time$seq”;
};
rename ( $uploadfile, $local_file );
display_page ();
}
function display_page ()
{
// 这里是您的页面内容
}
<HTML>
<HEAD>
<TITLE>php3 Receiving Script</TITLE>
</HEAD>
<BODY>
<?
if ( $error_msg ) { echo
“<B>$error_msg</B><BR><BR>”; }
if ( $sendit )
{
do_upload ();
}
elseif ( $cancelit )
{
header ( “Location: $some_other_script” );
exit;
}
else
{
some_other_func ();
}
?>
</BODY>
</HTML>

5.5 常用函数

我们大致来探访一些常用的函数。

数组

array – 生成数组
count – 数组成分个数
sort – 数组排序,另有任何三种排序函数可供使用
list – 列出数组元素
each – 再次回到下二个key/value对
current – 重回当前数组成分
next,prev – 传回当前数组成分前后指针

日期和时间

checkdate – 验证日期/时间格式
date – 生成日期/时间格式
time – 当前时间音讯
strftime – 格式化日期/时间

目录、文件系统

chdir – 改换目录
dir – 目录项目
opendir, readdir, closedir – 开启、读取、关闭目录
fopen, fclose – 开启、关闭文件
fgets, fgetss – 逐行读取内容
file – 将总体文件读入三个数组变量中

正则表明式

ereg – 相配正则表明式
eregi – 大小写非敏感相称正则表明式
ereg_replace -相称正则表明式并替换
eregi_replace -大小写非敏感相配正则表明式并替换
split – 依法规切开字符串并以数组时局存款和储蓄

字符串

AddSlashes – 加上斜杠后选择字符串
echo – 输出三个或七个字符串
join, implode – 将数组成分合併为字符串
htmlentities, htmlspecialchars – 将HTML特殊字符调换为HTML标识形式
split – 依法则切开字符串并以数组形势存款和储蓄
5.6 扩充大家的表率主页

我们将选用上述关联的有的函数和思辨为大家的楷模主页增加越来越多的动态内容。大家能够在各种页面包车型大巴顶端加上导航栏,相同的时候使妥贴前页自动的不被链接展现;同期还是能够增加一个客户验证表单以便上传音乐、图像等公事并自动更新页面。

导航栏

实际上正是在footer.inc文件中增加一段代码。即使你的web站点中保有后缀为.php3的文本都会冒出在导航栏中,以下正是被存为include/navbar.inc的代码:
<?
/* 输出该导航栏,链接所有除当前页的站内.php3文件 */
# 读取目录
$d = dir(“./”);
echo “<P ALIGN=”CENTER”> | n”;
while($entry = $d->read())
{
// 忽视无文件意况
if ( !is_file($entry) )
continue;
/* 将文件名与强盛名分别。由于.是正则表明式特殊字符,应该用引出 */
list($filenm, $fileext) = split(“.”,$entry, 2);
// 忽视非.php3文件处境
if( $fileext != “php3” )
continue;
/* 以后我们早已把.php3文件都选出,上面搜寻文件中的第一行(标题)
类似$title=”something”;
并将上述标题内容分别,用作链接文字 */
$linknm = “”;
$fp=fopen($entry,”r”);
while($buffer=fgets($fp, 4096))
{
$buffer = trim($buffer);
// 大家早就把各种文件的标题放在文件的首先行以便查找
// 不过当你改换变量名称时也许会带给大麻烦
if (ereg(“title *= *””, $buffer))
{
/* 大家曾经赢得了标题内容并能够在这里幼功上
拓宽去除空格等管理。
非得以PHP代码格局管理,比方$title = “blah blah” */
eval($buffer);
// 然后将链接文字显示为标题文字
$linknm = $title;
break;
}
}
fclose($fp);
if ( $entry == basename($PHP_SELF) )
echo “$linknm”;
else
echo “<A HREF=”$entry”>$linknm</A>”;
echo ” | “;
}
$d->close();
echo ” </P>n”;
?>

照片收藏夹

咱俩将援用基于HTTP的印证、文件系统函数和文件上传作用维护放置图像文件的目录。
还要大家须求树立一个能够列出在该目录下具有照片的页面。

文本上传
<?
include(“include/common.inc”);
// 大家在那再做叁遍客户验证
if(!isset($PHP_AUTH_USER))
{
Header(“WWW-Authenticate: Basic realm=”$MySiteName””);
Header(“HTTP/1.0 401 Unauthorized”);
echo “Sorry, you are not authorized to upload filesn”;
exit;
}
else
{
if ( !($PHP_AUTH_USER==$MyName && $PHP_AUTH_PW==$MyPassword ) )
{
// 固然是漏洞非常多的客商名称/密码对,强制再一次证实
Header(“WWW-Authenticate: Basic realm=”My Realm””);
Header(“HTTP/1.0 401 Unauthorized”);
echo “ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.<P>”;
exit;
}
}
if ( $cancelit )
{
// 当浏览者按下”撤除”开关则转向首页面
header ( “Location: front_2.php3” );
exit;
}
function do_upload () {
global $userfile, $userfile_size, $userfile_name, $userfile_type;
global $local_file, $error_msg;
global $HTTP_REFERER;
if ( $userfile == “none” ) {
$error_msg = “You did not specify a file for uploading.”;
return;
}
if ( $userfile_size > 2000000 )
{
$error_msg = “Sorry, your file is too large.”;
return;
}
// Wherever you have write permission below…
$upload_dir = “photos”;
$local_file = “$upload_dir/$userfile_name”;
if ( file_exists ( $local_file ) ) {
$error_msg = “Sorry, a file with that name already exists”;
return;
};
// 你还足以因而检查文件名称/类型对以分明是何种文件:gif,jpg,VCD…
rename($userfile, $local_file);
echo “The file is uploaded<BR>n”;
echo “<A HREF=”$HTTP_REFERER”>Go
Back</A><BR>n”;
}
$title = “Upload File”;
include(“include/header.inc”);
if (empty($userfile) || $userfile==”none”)
{
// 输出以下表单
?>
<FORM ACTION=”<? echo “$PHP_SELF”; ?>”
ENCTYPE=”multipart/form-data” METHOD=POST>
<INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE=”2000000″>
<INPUT TYPE=”FILE” NAME=”userfile” SIZE=”24″ MAXLENGTH=”80″>
<BR><BR>
<INPUT TYPE=”SUBMIT” VALUE=”Upload File!” NAME=”sendit”>
<INPUT TYPE=”SUBMIT” VALUE=”Cancel” NAME=”cancelit”><BR>
</FORM>
<I><FONT SIZE=”2″>(You may notice a slight delay while we
upload your file.)</FONT></I>
<?
} else {
if ( $error_msg ) { echo
“<B>$error_msg</B><BR><BR>”; }
if ( $sendit ) {
do_upload ();
}
}
include(“include/footer.inc”);
?>

照片图库

<?
include(“include/common.inc”);
$title = “Gallery”;
include(“include/header.inc”);
?>
<P>
Here are some of our family photos. This PHP script can really
be made better, by splitting into multiple pages.
</P>
<?
$d = dir(“photos”);
while($entry = $d->read())
{
if (is_file(“photos/$entry”))
echo “<IMG SRC=”photos/$entry”>n”;
}
$d->close();
?>
<?
include(“include/footer.inc”);
?>

其余,你可以在文件上传的表单中丰盛一个输入成分去描述该上传的文本。这几个因素将被积攒在文书中,然后被上述的相片图库的那段代码所读出并出示出来。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图