Php 检查文件是否已上载

Php 检查文件是否已上载,php,html,Php,Html,我正在创建一个社交网站。我可以选择上传多达10张带有或不带文本的图像,也可以选择上传不带图像的文本 下面我想看看用户是只上传了文本,还是上传了带有图片的文本。如果用户只上传了文本,那么我希望将文本插入到它自己的单独表中。如果用户上传的文字与图像或只是图像,我想检查一下。如何检查用户是否上传了图像,如果是,运行图像脚本,如果不是,跳出文件?这就是我目前所拥有的 <input name="files[]" id='files' accept="image/png,

我正在创建一个社交网站。我可以选择上传多达10张带有或不带文本的图像,也可以选择上传不带图像的文本

下面我想看看用户是只上传了文本,还是上传了带有图片的文本。如果用户只上传了文本,那么我希望将文本插入到它自己的单独表中。如果用户上传的文字与图像或只是图像,我想检查一下。如何检查用户是否上传了图像,如果是,运行图像脚本,如果不是,跳出文件?这就是我目前所拥有的

<input name="files[]" id='files' accept="image/png,image/gif,image/jpeg" type="file" multiple="multiple" />

$date_time = date('Y-m-d_H-i-s');
$img_limit = 10;
$maxsize = 4367463;

if(isset($_POST['submit'])) {

    $errors = '';

    if ($_POST['title_post'] == '') {
        
        $errors = "Choose a topic.";

    } else {

        $create_topic = $con->prepare("INSERT INTO subtopic (subtopic, description) 
         VALUES (?, ?)");
        $create_topic->bind_param("ss", $_POST['title_post'], $_POST['description']);
        $create_topic->execute();
    }

    // --------------- CHECK IMAGES ----------****
    
    $file_count = count($_FILES['files']['name']);

    if ($file_count > 0) {

    if ($file_count > $img_limit) {
        $errors = 'Cannot upload more than 10 images';
    }

    if (!$errors) {

        $stmt = $con->prepare("INSERT INTO images (image) VALUES (?)");
        $stmt->bind_param('s', $file_path);

        // Loop through each file
        for( $i=0; $i < $file_count; $i++ ) {

            $file_name = $_FILES['files']['name'][$i];
            $file_size = $_FILES['files']['size'][$i];
            $file_tmp = $_FILES['files']['tmp_name'][$i];
        
            $imageFileType = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

            if ($file_size >= $maxsize) {

                $errors = "Your file is too large";

            } elseif ($imageFileType != "jpeg" && $imageFileType != "jpg" && 
                $imageFileType != "png" && $imageFileType != "gif") {

                $errors = "File type not allowed.";
            }
            //Make sure we have a file path
            if (!$errors /* && $file_tmp != "" */) {

                $picToUpload = $date_time . " -#- " . md5($file_name) . " -#- " . $_FILES['files']['name'][$i];
                $uploadPicture = move_uploaded_file($file_tmp, "uploads/" . $picToUpload);

                $file_path = "uploads/" . $picToUpload;
                $stmt->execute();
            }
        }
    }} else {

        header('Location: index4.php');
        exit();

    }
    // --------------- CHECK IMAGES ----------****
}

$date_time=date('Y-m-d_H-i-s');
$img_限值=10;
$maxsize=4367463;
如果(isset($_POST['submit'])){
$errors='';
如果($\u POST['title\u POST']=''){
$errors=“选择一个主题。”;
}否则{
$create_topic=$con->prepare(“插入子主题(子主题,描述))
值(?,)”;
$create_-topic->bind_-param(“ss”、$_-POST['title_-POST']、$_-POST['description']);
$create_topic->execute();
}
//------检查图像----------****
$file_count=计数($_FILES['FILES']['name']);
如果($file\u count>0){
如果($file\u count>$img\u limit){
$errors='不能上载超过10个图像';
}
如果(!$errors){
$stmt=$con->prepare(“插入图像(图像)值(?)”;
$stmt->bind_参数('s',$file_路径);
//循环浏览每个文件
对于($i=0;$i<$file\u count;$i++){
$file\u name=$\u FILES['FILES']['name'][$i];
$file\u size=$\u FILES['FILES']['size'][$i];
$file\u tmp=$\u FILES['FILES']['tmp\u name'][$i];
$imageFileType=strtolower(路径信息($file_name,pathinfo_EXTENSION));
如果($file\u size>=$maxsize){
$errors=“您的文件太大”;
}elseif($imageFileType!=“jpeg”&&$imageFileType!=“jpg”&&
$imageFileType!=“png”&&&$imageFileType!=“gif”){
$errors=“不允许使用文件类型。”;
}
//确保我们有一个文件路径
如果(!$errors/*&&$file\u tmp!=“”*/){
$picToUpload=$date\U time.“-#-”.md5($file\u name)。“-#-”$\u FILES['FILES']['name'][$i];
$uploadPicture=移动上传的文件($file\u tmp,“上传/”)$picToUpload);
$file_path=“uploads/”$picToUpload;
$stmt->execute();
}
}
}}否则{
标题('Location:index4.php');
退出();
}
//------检查图像----------****
}

您需要检查当前文件-例如:

if(!file_exists($_FILES['files']['tmp_name'][0]) || !is_uploaded_file($_FILES['files']['tmp_name'][0])){

}

其中0等于$i

您可以只检查$_文件数组,如果它是空的,您没有任何文件。@UlrikMcArdle我尝试了这个方法,但是如果(!file_存在($_文件['FILES']['tmp_name'])| |!是否上载了_文件($_文件['FILES']['tmp_name']){)文件不存在,因为您正在上载多个文件。如果(!file_exists($_FILES['FILES']['tmp_name'][0])| |!是否已上载_文件($_FILES['FILES']['tmp_name'][0]){}-其中0=$i@UlrikMcArdle哇,谢谢。你想把它作为答案吗?