2014-05-20 1 views
0

Я знаю, что есть много учебников, но по какой-то причине мне не удается сосредоточить поиск на моей конкретной проблеме.Не удается создать файл для загрузки с помощью js или php

Я хочу, чтобы иметь ссылку, чтобы загрузить <a href="#" download="cal.ics">click</a>

По какой-то причине он заполняет файл со всем эхом от моей страницы вместо строки, я могу приготовить.

Что мне не хватает?

Edit:

Я хочу, чтобы файл содержит возвращение этой функции:

function createICS(){ 
header("Content-Type: text/Calendar; charset=utf-8'"); 
header("Content-Disposition: inline; filename=calendar.ics"); 
$ical = "BEGIN:VCALENDAR 
    VERSION:2.0 
    PRODID:-//Geektike/eventsboard//IL 
    BEGIN:VEVENT 
    UID:123456789 
    SUMMARY:asd 
    DTSTART:20140520T210000Z 
    DTEND:20140520T220000Z 
    LAST-MODIFIED:20111115T103014Z 
    LOCATION:here 
    DESCRIPTION:cool 
    END:VEVENT 
    END:VCALENDAR"; 

return $ical; 
exit; 
} 
+0

Что такое генерация ics? –

+0

пока ничего, я ожидал пустой файл. позже я буду использовать строку, которую я подготовил, используя php. – Meschiany

+0

Эти эхо с вашей страницы не содержат никакой полезной информации об исключении? –

ответ

1

Это: <a href="#" download="cal.ics">click</a> должно быть следующим: <a href="#" download="cal.php">click</a>.

Затем создайте файл cal.php и этот код внутри него:

<?php 
    print createICS(); 
?> 

(Это до тех пор, пока файл cal.php имеет доступ к createICS() функции, в противном случае поместить эту функцию, чтобы файл cal.php).

+0

Я думаю, вы имеете в виду 'print (createICS());' – amphetamachine

+0

Спасибо, я выполнил ваши инструкции, теперь он загружает всю страницу, а не только эхо и загружает файл php, а не файл ics. – Meschiany

+0

ах да, спасибо за исправление @amphetamachine – PavKR

0

Вы должны использовать буферизацию вывода, чтобы пропустить данные, которые вы не хотите в этом файле. См. http://ch1.php.net/manual/en/function.ob-start.php

+0

Спасибо, я не совсем понимаю, как это связано? Я думаю, что я ищу что-то намного проще, файл с моей php-строкой. – Meschiany

+1

Ответ был основан на предположении, что у вас есть эта функция в существующей среде, например. рамки. Я думаю, что ответ ThePav подходит вам лучше. –