首页 > 解决方案 > 如果存在或不存在,如何对文件值进行 if 语句

问题描述

大家好,我正在尝试做某事我有 2 个文件,一个是 custom.js,一个是 manage_menu.php

我在 custom.js 中有 html,就是这个

jQuery("#main_menu_item_edit_div_"+menuid).html("" +

        "<form action='dashboard.php?p=manage_menu&edit=menuitem' method='post' class='form addmenuform' id='adnewmenuitmfrm' enctype='multipart/form-data'>" +
        "<center><img src='"+menuimg+"' alt='Avatar' class='avatar' height='200px' width='200px'></center>" +

        "<input type='hidden' name='rid' id='rid' value='"+menuid+"'>" +
        "<input type='hidden' name='menuid' id='menuid' value='"+mainmenuidd+"'>" +
        "<div class='col50 left twocll'> <p>" +
        "<center><input type='text' name='menu_name' id='menu_name' value='"+menuname+"' required='Name'></center>" +
        "<label alt='Name' placeholder='Name'>" +
        "</label></p> </div> <div class='col50 right twocll'> " +
        "<p><input type='text' name='menu_dsc' id='menu_dsc' value='"+menudesc+"' required=''>" +
        "<label alt='Description' placeholder='Description'></label></p>" +



        "<p><input class='uploadbtn' type='file' name='menu_img' id='menu_img' value='"+menuimg+"' required='Image'></p> " +
        "<p><input type='text' name='menu_imgs' id='menu_imgs' value='"+menuimg+"'>" +
        "<label alt='Item Image' placeholder='Item Image'></label></p>" +


        " </div> <div class='col50 left twocll'> <p>" +
        "<input type='text' name='menu_price' value='"+menuprce+"' id='menu_price' required='Price'>" +
        "<label alt='Price' placeholder='Price'>" +
        "</label><p style='margin-top: 0px !important'>" +
        "<input type='checkbox' name='outofstock' id='require_items' value='1' "+menuoutofstock+" /> " +
        "Out Of Stock</p></p> </div> <div class='col50 right twocll'> <p>" +
        "<input type='submit' value='Update Menu Item'></p>" +
        "</div> <div class='clear'></div></form>");
});

在 php 文件中是

$id = $_POST['rid'];
            $restaurant_menu_id = htmlspecialchars($_POST['menuid'], ENT_QUOTES);
            $name = htmlspecialchars($_POST['menu_name'], ENT_QUOTES);
            $description = htmlspecialchars($_POST['menu_dsc'], ENT_QUOTES);

            $item_image = htmlspecialchars($_POST['menu_img'], ENT_QUOTES);
            $item_final_image = htmlspecialchars($_POST['menu_imgs'], ENT_QUOTES);

            $price = htmlspecialchars($_POST['menu_price'], ENT_QUOTES);
            $outofstock = htmlspecialchars(@$_POST['outofstock'], ENT_QUOTES);

接着

 $temp = explode(".", $_FILES["menu_img"]["name"]);
                    $newfilename = round(microtime(true)) . '.' . 

end($temp);
                move_uploaded_file($_FILES['menu_img']['tmp_name'], './menuimg/' . $newfilename);

                $data = array(
                    "id" => $id,
                    "restaurant_menu_id" => $restaurant_menu_id,
                    "name" => $name,
                    "description" => $description,
                    "item_image" => "https://3marka.com/stores/menuimg/" . $newfilename,
                    "price" => $price,
                    "out_of_order" => $outofstock
                );

我想要的是如果输入文件的值是图像上传,如果它已经上传,一切都很好,不需要上传任何文件,只需保存而不生成随机名称。像这个 1651505616。当我不放置图像时会发生什么,它只是生成随机名称我希望它只进行编辑而不在图像列上进行编辑

标签: phpfile-upload

解决方案


您可以使用 file_exists() 方法来确保文件是否存在。

if (file_exists('./menuimg/'.$newfilename)
{
   echo "exists!";
}
else
{
   echo "not exists";
}

推荐阅读