我写了这段代码,但我遇到了问题。当有人点击提交时我无法验证是否没有上传文件,我无法具体说明允许的延期,例如“.jpg”。如何在“foreach”中执行此操作,当我上传一个图像时,我可以执行此操作,但是此代码用于多上传,如果您注意到我在表单中使用了数组。
<?php
mysql_connect('localhost','root','root')or die (mysql_error());
mysql_select_db('storeimage');
?>
<?
if ($_POST['submit'] ){
$file=$_FILES['file'];
$name=$_FILES['file']['name'];
$tmp_name=$_FILES['file']['tmp_name'];
foreach($name as $key=>$value){
$name_file=$name[$key];
$tmp_file=$tmp_name[$key];
$imgpath = rand().'.jpeg';
move_uploaded_file($tmp_file,'images/'.$imgpath);
$insert=mysql_query("insert into imagelocation values('','images/$imgpath')")or die (mysql_error());
$id=mysql_insert_id();
$select=mysql_query("select * from imagelocation where id='$id' ");
while ($row=mysql_fetch_object($select)){
echo "<center><img src='$row->images'/></center><br/>";
}
}
}
?>
<form action='' method='post' enctype='multipart/form-data'>
<input type='file' name='file[]' multiple />
<input type='submit' name='submit'/>
</form>
答案 0 :(得分:0)
从来没有这样做,但可能就像
foreach ($_FILES['file'] as $file) {
// echo $file['name'] . '<br>';
}
答案 1 :(得分:0)
你使用多个文件,你需要做这样的事情
$allowedExt = array("jpg");
if (isset($_FILES['file'])) {
foreach ( $_FILES['file']['tmp_name'] as $key => $file ) {
if ($_FILES["file"]["error"][$key] == UPLOAD_ERR_OK) {
$fileName = $_FILES['file']['name'][$key];
$fileSize = $_FILES['file']['size'][$key];
$fileTemp = $_FILES['file']['tmp_name'][$key];
$fileType = $_FILES["file"]["type"][$key];
$fileExt = pathinfo($fileName, PATHINFO_EXTENSION);
$fileExt = strtolower($fileExt);
if(!in_array($fileExt, $allowedExt))
{
// extention not supported ;
continue;
}
// do your magic
} else {
// Somethign bad happend
}
}
}