为了账号安全,请及时绑定邮箱和手机立即绑定

在本地托管的 PHP 网站中上传图片并替换之前的图片

在本地托管的 PHP 网站中上传图片并替换之前的图片

PHP
侃侃尔雅 2022-07-16 17:00:47
这是我在 PHP Web 开发方面的第一次体验,我遇到了一个问题。我制作了一个 HTML 表单来上传可以正常工作的图像。但是,我正在尝试在其中添加一个功能,以便在上传新图像时删除同一链接中的前一个图像。    <?php        if(isset($_POST["submit"])) {            $a= $_POST['a'] ;            if ($a == 'fesectionatimetable'){                $target_dir = "content/timeTables/FE/";                unlink ('content/timeTables/FE/A') ;            }           $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);           echo '$_FILES["fileToUpload"]["name"]' ;           $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);             if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {                 echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been                  uploaded.";                 }                }     ?>        <html>        <body>        <form action="index.php" method="post" enctype="multipart/form-data">        <h2 style = "color : black ; "> Select image to upload: </h2>        <h6 style = "color : black ; "> <input type="file" name="fileToUpload" id="fileToUpload">         </h6>        <h6 style = "color : black ; "> <input class="btn btn-primary" href="#" role="button"          type="submit" value="Upload Image" name="submit"> </h6>        <input type="text" name='a' value="<?php echo $a;?>" style="display:none">        </form>        </body>          <html>我尝试使用 unlink() 函数,但它没有删除该图像,显示警告 unlink(content/timeTables/FE/A): No such file or directory while there is an image at the same link and of the same name.请指导如何做到这一点。
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

两件事,一是路径不是动态的,我做到了,二是确保value="<?php echo $a;?>"具有“fesectionatimetable”的值。


<?php


        if(isset($_POST["submit"])) 

        {


            $a= $_POST['a'] ;

            if ($a == 'fesectionatimetable'){

                $target_dir = "content/"; //your path

                $old_files = glob('content/*');

                foreach($old_files as $file){ // iterate files

                  if(is_file($file))

                    unlink($file); // delete file

                }

            }

           $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

           $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

             if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {

                 echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been 

                 uploaded.";

                 }

        } 

    ?>


    <html>

    <body>

    <form action="index.php" method="post" enctype="multipart/form-data">

    <h2 style = "color : black ; "> Select image to upload: </h2>

    <h6 style = "color : black ; "> <input type="file" name="fileToUpload" id="fileToUpload"> 

    </h6>

    <h6 style = "color : black ; "> <input class="btn btn-primary" href="#" role="button" 

     type="submit" value="Upload Image" name="submit"> </h6>

    <input type="text" name='a' value="fesectionatimetable" style="display:none"> //your value 

    </form>


    </body>  

    <html>


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信