繁体   English   中英

从本地浏览器应用程序以默认程序打开本地文件

[英]Open local file in default program from local browser app

那么有没有办法从本地浏览器应用程序以默认程序打开本地文件?

尝试使用简单的HTML a href

file:///filepath/filename.exe

由于安全政策而无法正常工作,他说:

不允许加载本地资源

尝试使用php exec

exec('notepad');

好像它在服务器端而不是客户端端打开它。

也尝试过

exec('runas /admin notepad')

输入管理员密码:

我知道有很多重复的东西,我花了一些时间进行研究,但找不到决定性的答案吗? 如果是,怎么办?

不可能。

PHP是服务器端语言,客户端浏览器看不到PHP。

此外,这甚至无法使用客户端浏览器语言(例如javascript)来完成; 原因是,这将是一个巨大的安全漏洞,因为它将允许您访问的任何网站在本地计算机上任意执行/启动应用程序。

PHP不能用于启动程序客户端。 另外,javascript也无法执行此操作: 如何在客户端运行程序或批处理文件? 因为这将带来安全风险。

但是,有一种方法可以执行此操作,但这不能用于打开每种类型的文件。 例如,向用户发送地址mailto:example@email.com将提示用户打开默认的电子邮件程序。 如果您的程序支持此功能,则可以用这种方式打开它。 在您的用例中,这可能是不可能的,但是如果您可以在自己的计算机上安装某些东西,则可以制定自己的协议: https : //msdn.microsoft.com/zh-cn/library/aa767914(VS.85) .aspx

万岁,它起作用了!

感谢这个家伙。

可以用3行代码用php运行任何外部GUI程序:

shell_exec('SCHTASKS /F /Create /TN _notepad /TR "notepad.exe" /SC DAILY /RU INTERACTIVE');
shell_exec('SCHTASKS /RUN /TN "_notepad"');
shell_exec('SCHTASKS /DELETE /TN "_notepad" /F');

基本上,您计划一个任务,然后运行,然后将其删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM