在 next.php 程序要做的最重要步骤,就是好好的使用这四个变量,否则程序一结束,用户上传的文件就消失了。因此,要先将 $myfile 复制到存放广告图的目录中
copy ( $banner , "/home1/biglobe3/ad/" . $banner_name );
这行程序就是将文件存在 /home/htdocs/ad 的目录中,就上面的例子而言,就将文件存到 /home/htdocs/ad/myphoto.gif。重要的是,存放的目录不能是 web server 无法读到的目录,而应放在网站的 homepage 所在目录中,才可以在网络上看到。
或许程序要更详细的处理,例如比对取得的文件大小与系统回报的是否相同....等等,就可以用 $myfile_size 变量了。
若在 form 中配置 input file 的名称改掉,则在 upload 的变量也一起改,如
<input name="upfile" type="file">
则变量就改成 $upfile、$upfile_name、$upfile_size、与 $upfile_type。
因此,下面的例子就利用 file upload 及 oracle 7.x 后端数据库,将文件放在 web homepage 目录中,相关信息则存在 oracle 中。当然,加上用户认证,让有帐号的用户才能上传图片,可避免刽客 (cracker) 等将不雅或不适当的广告上传。例中有关数据库的配置和 5.4 留言板 的配置相同。
<html>
<head>
<?php
// adadd.php
if (( $banner == "" ) and ( $url == "" )) {
?>
<title>新增广告</title>
</head>
<body>
加权值数字愈大,图片出现的机率就愈高,默认值为 1。
<form enctype="multipart/form-data" action="adadd.php" method=post>
<table border=0>
<tr><td align=right>广告 banner: </td><td><input name=banner type="file"></td></tr>
<tr><td align=right>广告网址 url: </td><td><input name=url type=text size=30></td></tr>
<tr><td align=right>辅助字符串 alt: </td><td><input name=alt type=text size=30
| 对此文章发表了评论 |
