fsk33 2023-04-23 20:55 采纳率: 73.9%
浏览 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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效