sách gpt4 ai đã đi

php - 这个 iCal 日历有什么问题?

In lại 作者:行者123 更新时间:2023-12-05 01:48:21 25 4
mua khóa gpt4 Nike

我编写了一个脚本来根据我数据库中的事件生成一个 iCal 日历。这是一个示例输出:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
ORGANIZER;CN=Blodgruppen
DTSTART:20130128T173000Z
DTEND: 20130128T193000Z
SUMMARY: Su-möte
END:VEVENT
BEGIN:VEVENT
ORGANIZER;CN=F-styret
DTSTART:20130128T173000Z
DTEND: 20130128T193000Z
SUMMARY: Su-möte
END:VEVENT
BEGIN:VEVENT
ORGANIZER;CN=Blodgruppen
DTSTART:20130412T100000Z
DTEND: 20130414T180000Z
SUMMARY: KTH
END:VEVENT
BEGIN:VEVENT
ORGANIZER;CN=F-styret
DTSTART:20130412T100000Z
DTEND: 20130414T180000Z
SUMMARY: KTH
END:VEVENT
END:VCALENDAR

当我尝试在 iCal 中订阅此文件时,它说该文件无效。有谁知道为什么吗?

此外,有人知道我是否会因为我的文件结尾是 .php 而不是 .ics 而在某处遇到问题吗?

(如果有帮助,我通过查看维基百科上的示例构建了上面的内容:http://en.wikipedia.org/wiki/ICalendar#Core_object)

1 Câu trả lời

回到最基本的一点,你不能上传你的 PHP 脚本,一些日历客户端允许你订阅一个 URL 来获取 iCal 提要,确保这是你正在做的并且你没有尝试上传PHP 脚本文件。

如果没问题,那么我们可以看看定义。根据tài liệu ORGANIZER 参数是可选的,如果包含它,它必须有一个冒号 : 和一个必须是 của cal-address网址。您的 ORGANIZER 字段如下所示:

ORGANIZER;CN=Blodgruppen

它们应该是这样的:

ORGANIZER;CN=Blodgruppen:URI

URI 不一定必须是 gửi thư đến,here are some examples .为方便起见,可以像这样添加电子邮件地址...

ORGANIZER;CN=Blodgruppen:MAILTO:bob@b.com

或者电话号码...

ORGANIZER;CN=Blodgruppen:TEL:+49-01234-56789

您可以包括一个 ftp URL 网络以及其他一些不太常用的东西。或者,该参数不是必需的,因此您可以简单地将其删除。

VEVENT 似乎还缺少一个 UID 和一个 DTSTAMP,它们是必需的属性。

UID 可以是您选择的标识符,但它应该是全局唯一的。我将花时间通过描述 UID 参数的含义来解释全局唯一的含义。日历客户端将使用它来识别事件,如果您使用日历中已存在的事件的 ID,它将更新该事件,认为您的意思是它这样做,因此它不能与现有事件的 ID 匹配.如果您考虑将事件添加到许多可能也包含事件的不同日历客户端,这就是它必须“全局”唯一的原因。您可以在 PHP 中使用 uniqid() 函数,它可能有助于创建您自己的全局唯一标识符。

DTSTAMP 是事件创建或最后更新的时间。

您定义中的空格不一致,文档不讨论参数和值之间的空格,但所有示例都没有空格显示,因此您可能还想去除任何非必要的空格...

DTEND: 20130128T193000Z

成为...

DTEND:20130128T193000Z

它可能不会造成伤害,但存在这种可能性。我还会开始使用最少的参数尝试一个事件,只是为了检查它是否是导致问题的 iCal 定义。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:20121229T212000Z-test-1
DTSTAMP:20121229T212000Z
DTSTART:20130128T173000Z
DTEND:20130128T193000Z
END:VEVENT
END:VCALENDAR

您可能想检查您的 PHP 脚本是否使用了正确的 mime 类型以及 text/calendar。如果不是,您可以使用 tiêu đề 函数将 Loại nội dung header 添加到响应中:

 header("Content-Type: text/calendar");

我希望这有助于...

关于php - 这个 iCal 日历有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085326/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com