我有一台 Mac 服务器,用于托管我的网站。我使用 PHP 创建了一个网页,该网页基本上用于创建约会。该页面允许用户选择约会的日期和时间,然后单击提交按钮将其发布到服务器。我能够在服务器端接收选定的值。
现在我想编写苹果脚本或创建自动操作,它将根据通过 PHP 页面接收到的数据在我的 iCal 中创建一个条目。
如何使用我在 PHP 页面中收到的详细信息在我的 mac 服务中创建约会?我是否以正确的方式考虑使用苹果脚本或自动机将约会添加到我的 ical?
我有一台 Mac 服务器,用于托管我的网站。我使用 PHP 创建了一个网页,该网页基本上用于创建约会。该页面允许用户选择约会的日期和时间,然后单击提交按钮将其发布到服务器。我能够在服务器端接收选定的值。
现在我想编写苹果脚本或创建自动操作,它将根据通过 PHP 页面接收到的数据在我的 iCal 中创建一个条目。
如何使用我在 PHP 页面中收到的详细信息在我的 mac 服务中创建约会?我是否以正确的方式考虑使用苹果脚本或自动机将约会添加到我的 ical?
你可以运行applescripts
shellexec("osascript /path/to/script.scpt 参数");
比从返回的变量中获取它的输出。
我不知道applescript是如何工作的,但如果你只想发出一个命令行命令,你可以使用system()
解决此问题的另一种方法是,不要从 PHP 调用 AppleScript 并尝试围绕可能导致其失败的所有边缘情况进行编程(用户在服务器上执行其他操作,没有用户登录,AppleScript 运行时间过长等),将是让服务器将每个约会的 iCal 文件写入特定目录。然后有一个定期运行的 iCal/Automator 操作(例如每 5 分钟),它从所述目录导入新的约会 iCal 文件,并在将其导入 iCal 后将其删除。
就从 PHP 创建 iCal 文件而言,似乎有许多提供此功能的库,包括:Benuu、qCal、iCalcreator、iCal Maker,可能还有更多。其中任何一个都应该允许您生成与 iCal 兼容且易于导入的.ics
文件.ical
。iCal 文件肯定比尝试将各种数据(如名称、日期和时间、位置等)传递给 AppleScript 更便携。
而且,为了定期运行 AppleScript/Automator 操作,您可以使用出色的Lingon应用程序,尽管它现在只是 App Store。也可以手动编写launchd
.plist
文件(请参阅 参考资料man launchd.plist
)。