Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我无法验证$u POST[';';]的有效性;_Php_Post - Fatal编程技术网

Php 我无法验证$u POST[';';]的有效性;

Php 我无法验证$u POST[';';]的有效性;,php,post,Php,Post,我写了这段代码,但我有一个问题。当有人点击提交时,我无法验证是否没有上传文件,并且我无法指定允许的删除,例如“.jpg”。如何在“foreach”中实现这一点,我可以在只上传一张图片时实现,但这段代码用于多次上传,如果您注意到我在表单中使用了数组,则可以实现这一点 <?php mysql_connect('localhost','root','root')or die (mysql_error()); mysql_select_db('storeimage'); ?> <?

我写了这段代码,但我有一个问题。当有人点击提交时,我无法验证是否没有上传文件,并且我无法指定允许的删除,例如“.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>


从来没有这样做过,但很可能是这样的

foreach ($_FILES['file'] as $file) {

    // echo $file['name'] . '<br>';
}
foreach($\u文件['file']作为$file){
//echo$file['name']。
; }
处理多个文件时,需要执行以下操作

$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 
        }
    }
}

离题,但很重要:PHP的
mysql\u xxx()
函数被认为已经过时。PHP手册强烈建议不要使用它们,而是使用
mysqli_xxx()
函数(或PDO库)。切换到
mysqli_xx()
函数非常简单。欢迎使用堆栈溢出!请不要使用
mysql.*
函数来编写新代码。它们不再得到维护,社区已经开始。看到了吗?相反,你应该学习并使用或。如果你不能决定哪一个,我会帮你的。如果你选择PDO,。你一定对空白有强烈的厌恶:)事实上,我想感谢你对我的帮助,你真的是一个很好的程序员。再次感谢你,感谢所有试图帮助我的人me@user1692901不客气。。你可以接受看:关于如何接受