fsk33 2023-04-23 20:55 采纳率: 75%
浏览 52
已结题

PHP点击超级链接复制变量值到剪贴板,然后打开本地程序

因为客户需求,需要在网页中调用本地程序并用此程序打开指定目录,所以百度了一下,用网友提供的方式,按以下方式修改了注册表:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\xyzexe]
"URL Protocol"="D:\xyz.exe"
@="xyzProtocol"
[HKEY_CLASSES_ROOT\xyzexe\DefaultIcon]
@="D:\xyz.exe,1"
[HKEY_CLASSES_ROOT\xyzexe\shell]
[HKEY_CLASSES_ROOT\xyzexe\shell\open]
[HKEY_CLASSES_ROOT\xyzexe\shell\open\command]
@=""D:\xyz.exe" "%1""
经上面方式修改注册表后,通过在网页栏输入:xyzexe://,可以打开xyz.exe这个程序,在windows的运行栏里也输入上述xyzexe://也能打开。
说明一点,xyz.exe这个程序是我自己写的,为客户需求,这个程序的功能是:当用户复制一个保存有DICOM放射影像图像的文件夹路径后(即这个文件夹路径被复制到了WINDOWS剪贴板中,如:D:\DICOMFILE\20230325\MR\123),这时运行xyz.exe将会打开剪贴板路径下的图像文件夹。
目前的需求是:我正在用HTML+PHP做个功能,点击“阅片”这个超级链接时,先清空剪贴板内容,再将从数据库的imgPath1字段中读取出的值(就是DICOM图像文件夹的路径)复制到剪贴板,然后通过xyzexe://打开程序显示图像。
先写的代码如下,其中PHP那段能读取出imgPath1字段的值,href="xyzexe://"也能打开程序,但我不知道如何清空剪贴板并将其值复制进剪贴板中,然后通过点击超级链接打开程序:


<td>
<?php
$path = str_replace('$', '\\', $row_rsdb['imgPath1']);
?>
<a href="xyzexe://" target="_blank"> 阅片</a>
</td>

需要解决的代码,谢谢。

  • 写回答

2条回答 默认 最新

  • CF2301_77400554X 2023-04-24 00:21
    关注

    引用chatgpt部分指引作答:
    要在PHP中清空剪贴板并将值复制到剪贴板中,可以使用JavaScript。以下是一个例子:

    <td>
    <?php
    $path = str_replace('$', '\\', $row_rsdb['imgPath1']);
    ?>
    <a href="#" onclick="copyToClipboard('<?php echo $path; ?>'); openProgram();" target="_blank">阅片</a>
    </td>
    
    <script>
    function copyToClipboard(text) {
      var input = document.createElement('textarea');
      input.style.position = 'fixed';
      input.style.opacity = 0;
      input.value = text;
      document.body.appendChild(input);
      input.select();
      document.execCommand('Copy');
      document.body.removeChild(input);
    }
    
    function openProgram() {
      window.location.href = 'xyzexe://';
    }
    </script>
    
    

    这里定义了两个函数,copyToClipboard和openProgram。copyToClipboard函数将传递给它的文本复制到剪贴板中。openProgram函数在调用xyzexe://URL时打开程序。

    在超级链接中,调用这两个函数,首先通过copyToClipboard函数将路径复制到剪贴板中,然后调用openProgram函数打开程序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月24日
  • 已采纳回答 4月24日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"