wlue 发表于 2021-9-5 12:12

请问:PHP能否实现类似js中 confirm( ) 那样的交互功能?

本帖最后由 wlue 于 2021-9-5 12:14 编辑

请问:PHP能否实现类似js中confirm( )那样的交互功能?
      用PHP上传文件,当指定的文件夹下没有同名文件,就完成上传。如果指定的目录下有同名文件,就给出提示,让用户选择是覆盖同名文件,还是放弃等操作。类似于JS中的 confirm( ) 函数的功能,但PHP中并没有这样的函数,请问该如何实现类似的功能?上部分代码:

$temName = $_FILES['mypic']['tmp_name'] ;//上传的临时文件名
$fileName = "files/{$_FILES[‘mypic’][‘name’]}" ;//指定目录并用原文件名命名
if (!file_exists($fileName)) { //判断,如果不存在同名文件就将临时文件移动到指定目录
      rename($temName,$fileName);
      echo '文件上传成功!' ;
} else {//如果存在同名文件
            echo "存在同名文件!" ; //在这里如何实现类似confirm( )那样的功能?
         }

       请假各位熟悉PHP的各位大侠,如何实现这样的交互功能(至于重命名这种方法我会)?
       先谢谢了!{:1_893:}{:1_893:}

wangad123 发表于 2021-9-5 12:20

echo" <script> alert('存在同名文件')</script> ";
或者使用前端用ajax请求上传接口,返回一个标识,前端对返回的标识进行判断根据标识提示

wlue 发表于 2021-9-5 12:22

本帖最后由 wlue 于 2021-9-5 12:24 编辑

wangad123 发表于 2021-9-5 12:20
echo"alert('存在同名文件') ";
或者使用前端用ajax请求上传接口,返回一个标识,前端对返回的标识进 ...
alert()只能给出警告,但不能执行PHP中的操作,ajax倒是可行,就是稍微复杂了些

阿汤 发表于 2021-9-5 13:34

只有自己写咯,麻烦一些,做出一个特征然后根据特征再进行ajax操作。除此之外貌似也没有什么其他好的办法

saobee 发表于 2021-9-5 16:03

php不能实现这种中断执行并交互的能力,只能有错误就输出错误描述

wlue 发表于 2021-9-5 17:45

看来只有放弃这种想法,用ajax方法实现了……

numbersi 发表于 2021-9-5 20:06

web交互只有htmljs , php是后端脚本语言,即便实现也是间接拼接js代码 实现,说白了 是浏览器不认识php是什么玩意,

wlue 发表于 2021-9-5 20:37

numbersi 发表于 2021-9-5 20:06
web交互只有htmljs , php是后端脚本语言,即便实现也是间接拼接js代码 实现,说白了 是浏览器不认识php ...

看来只能放弃这种想法了

heroic 发表于 2021-9-6 17:00

要不就给一个选项让他勾选如果存在同名文件就替换 后台判断是否勾选就行了

wlue 发表于 2021-9-6 21:29

本帖最后由 wlue 于 2021-9-6 21:33 编辑

我已经用ajax技术解决了这个问题,效果如下:
上传页面:如果没有选择任何文件,则提交按钮不可用;




选择文件后先进行前端检验,如果文件类型和大小不符合要求,则弹出提示框,提交按钮不可用;




如果通过前端检验,再用ajax检验服务端是否有同名文件存在,并给出相应提示:



页: [1]
查看完整版本: 请问:PHP能否实现类似js中 confirm( ) 那样的交互功能?