请大家帮我看段PHP代码,为什么循环控制无效!

来源:百度知道 编辑:UC知道 时间:2024/06/18 22:49:09
<?php
include('conn.php');
?>

<?php
$fenlei = $_POST['fenlei'];
$ebiaoti = $_POST['ebiaoti'];
$dbiaoti = $_POST['dbiaoti'];
$ejianjie = $_POST['ejianjie'];
$djianjie = $_POST['djianjie'];
$uptime=date("y-m-d");

$upfile1 = $_FILES['upfile1'][name];
$upfile2 = $_FILES['upfile2'][name];
$upfile3 = $_FILES['upfile3'][name];
$upfile4 = $_FILES['upfile4'][name];
$upfile5 = $_FILES['upfile5'][name];
$upfile6 = $_FILES['upfile6'][name];
$upfile7 = $_FILES['upfile7'][name];
$upfile8 = $_FILES['upfile8'][name];

echo $upfile1."<br>";
echo $upfile2."<br>";
echo $upfile3."<br>";
echo $upfile4."<br>";
echo $upfile5."<br>";
echo $upfile6."<br>"

"upfile".$i这个相当于upfile0,upfile1,……,当然会一直循环下去了。
你可以用count($_FILES)来控制循环次数。

插入到数据库中主要是把图片的存储路径插进去,在每次循环的时候你给它定义一个新的名字,用move_uploaded_file移到指定的文件夹里就可以了。

1.
循环终止条件是"upfile".$i!="",由于$i的值是1、2、3、……,所以不等号的左边结果是"upfile1"、"upfile2"、"upfile3"、……,永远都不可能等于右边的"",所以会死循环。应该修改为:
$_FILES['upfile'.$i]['name']!=''

2.
$fname.$i是什么意思,你可能误会了吧,这是表达式,不是变量。
不要直接把$_FILES['upfile1'][name]存入数据库,应该把临时文件拷贝到WEB文件夹下,然后再把这个WEB文件夹下的文件名字存入数据库。

你有没有PHP手册,有的话的查一下,里面有上传多个文件的例子,我粘贴如下:

例 39.4. 上传多个文件

<form action="file-upload.php" method="post" enctype="multipart/form-data">
Send these files:<br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input type=&q