php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.01.2012, 17:10  
Benutzer
 
Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse:
Anfänger
9999 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] ics (iCalendar) mit php aktualisieren

Hallo,

auf dem Server wird eine ics-Datei gespeichert, welche mit Kalenderprogrammen abonniert werden kann. Mit php möchte ich nun die ics-Datei ändern bzw. aktualisieren.
So sieht die Datei vor der Bearbeitung aus:
Code:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-WR-TIMEZONE:Europe/Berlin
END:VCALENDAR
und so danach:
Code:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
DTSTART;VALUE=DATE:20120107
DTEND;VALUE=DATE:20120108
DTSTAMP:20120107T161432
UID:4f08615876a45
DESCRIPTION:Test
SUMMARY:Test
END:VEVENT
END:VCALENDAR
Die Datei wird mit file_put_contents beschrieben.
Allerdings wird z.B. in iCalendar der neue Termin nicht angezeigt. Erst wenn ich die Datei herunterlade, bearbeite (z.B. Termin -> Termin2) und per FTP wieder hochlade, wird der Termin angezeigt.
Jemand eine Idee, woran das liegen könnte?
9999 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.01.2012, 17:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Vielleicht am Zeichensatz oder falschen Umbruchzeichen. Vergleich doch einfach mal beide Dateien mit einem Differ.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 07.01.2012, 17:26  
php.de
Gast
 
Beiträge: n/a
Standard

Hast du den safe_mode auf on?
Irgendwie erinnert mich das an diese safe_mode-Probleme mit den unterschiedlichen Besitzern.

Geändert von php.de (07.01.2012 um 17:30 Uhr).
  Mit Zitat antworten
Alt 07.01.2012, 17:28  
Benutzer
 
Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse:
Anfänger
9999 befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnelle Antwort.
Ich poste mal den Code, den für den Eintrag zuständig ist.

PHP-Code:
// Eintrag definieren
$eintrag "X-WR-TIMEZONE:Europe/Berlin
BEGIN:VEVENT
DTSTART"
;
if (isset(
$_POST['ganztaegig'])) {
    
$eintrag .= ";VALUE=DATE:";
}
$eintrag .= "$date_start\n";
if (!isset(
$_POST['ganztaegig'])) {
    
$eintrag .= "T".$time_start."Z\n";
}
$eintrag .= "DTEND";
if (isset(
$_POST['ganztaegig'])) {
    
$eintrag .= ";VALUE=DATE:";
}
$eintrag .= "$date_end\n";
if (!isset(
$_POST['ganztaegig'])) {
    
$eintrag .= "T".$time_end."Z\n";
}
$eintrag .= "DTSTAMP:$now
UID:$uniqid
SUMMARY:$terminname
END:VEVENT
"
;
    
// ICS aktualisieren
$ics file("ics/test.ics");
array_splice($ics31$eintrag);
$string implode(""$ics);
if (
file_put_contents("ics/test.ics"$string)) {
    echo 
"Erfolgreich.";
}
else {
    echo 
"Fehler.";

$_POST['ganztaegig'] ist eine Checkbox für ganztägige Termine.
9999 ist offline   Mit Zitat antworten
Alt 07.01.2012, 17:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
welche mit Kalenderprogrammen abonniert werden kann
Und die stößt Du hinterher auch an?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 07.01.2012, 17:30  
Benutzer
 
Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse:
Anfänger
9999 befindet sich auf einem aufstrebenden Ast
Standard

Ja, safe_mode ist an und der Ordner ist mit htaccess geschützt.
9999 ist offline   Mit Zitat antworten
Alt 07.01.2012, 17:50  
Benutzer
 
Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse:
Anfänger
9999 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Und die stößt Du hinterher auch an?
Die Kalenderprogramme aktualiseren alle abonnierten Kalender beim Start. Und hier schein wohl auch das Problem zu liegen.
Also Outlook unter Win zeigt den neuen Termin problemlos an. Der Kalender unter iOS macht Probleme. Tut mir Leid, dass ich das nicht gleich getestet habe!
Wobei ich nicht ganz verstehe, warum. Wenn ich den Kalender per FTP hochlade, wird der Termin ja auch angezeigt. Und ob die Datei serverseitig mit PHP oder per FTP geändert wird, dürfte das Programm ja wohl kaum mitbekommen, oder?
9999 ist offline   Mit Zitat antworten
Alt 07.01.2012, 17:52  
php.de
Gast
 
Beiträge: n/a
Standard

Wenn es mit ftp funktioniert, würde ich in php mit ftp-befehlen arbeiten.
Siehe Beispiel #1 http://www.php.net/manual/de/function.ftp-fput.php
  Mit Zitat antworten
Alt 07.01.2012, 18:12  
Erfahrener Benutzer
 
Registriert seit: 06.05.2011
Beiträge: 183
PHP-Kenntnisse:
Anfänger
DEdK4ever befindet sich auf einem aufstrebenden Ast
Standard

FTP macht keine andere Datei als ein PHP-Skript, daran darf es garnicht liegen. Aber es könnte andere Änderungszeiten, Zugriffsrechte, Besitzer-IDs festlegen oder dein Texteditor hängt noch eine BOM vorndedran usw. usf...
Vermutlich liegts an den verwendeten Steuerzeichen:
- iOS braucht \r
- dein Texteditor läuft wahrscheinlich unter Windows (\r\n), enthält also ein \r
- dein Skript fügt nur \n ein und liefert das (eventuell) von iOS benötigte \r nicht.
Gruß

Geändert von DEdK4ever (07.01.2012 um 18:16 Uhr).
DEdK4ever ist offline   Mit Zitat antworten
Alt 07.01.2012, 18:40  
Benutzer
 
Registriert seit: 21.06.2009
Beiträge: 87
PHP-Kenntnisse:
Anfänger
9999 befindet sich auf einem aufstrebenden Ast
Standard

Unglaublich! Es liegt tatsächlich am Umbruch! Mit \r\n funktioniert es.
Euch allen vielen Dank für die Hilfe!
9999 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aktualisieren netzwork83 HTML, Usability und Barrierefreiheit 7 23.04.2011 09:23
[PHP] id enthält erst nach einmal Aktualisieren die ID RAZER@1337 PHP Einsteiger 2 07.03.2011 21:12
Chat soll sich automatisch aktualisieren HelloPHP! PHP Einsteiger 9 22.02.2011 19:22
PHP Variable ständig aktualisieren yuku PHP Einsteiger 13 08.12.2010 16:51
[Erledigt] Seite aktualisieren ohne online zu sein VIP Off-Topic Diskussionen 2 08.05.2010 00:15
[Erledigt] $_GET nur beim Absenden mitschicken, nicht beim Aktualisieren der Seite choice PHP Tipps 2009 2 30.05.2009 12:44
Webseite automatisch aktualisieren... skywalkerluk PHP Tipps 2006 8 15.02.2006 17:46
Einzelne Frames aktualisieren mit JS: IE Prob GSJLink HTML, Usability und Barrierefreiheit 3 26.01.2006 16:42
[Erledigt] Tabelle aktualisieren Datenbanken 3 23.11.2005 09:54
Seite aktualisieren Quagga HTML, Usability und Barrierefreiheit 2 19.11.2005 21:24
[Erledigt] Seite aktualisieren PHP Tipps 2007 11 14.11.2005 17:17
[Erledigt] frame aktualisieren HTML, Usability und Barrierefreiheit 8 23.07.2005 19:01
WARENKORB - Artikelmenge aktualisieren PHP Tipps 2004 6 18.10.2004 13:14
Automatsiches Aktualisieren PHP Tipps 2004 2 10.09.2004 11:34
Datensatz aktualisieren PHP Tipps 2004 2 20.06.2004 19:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ics datei aktualisieren, ical x-alt-desc html wird nciht angezeigt, php script edit ics files, php zeilenumbruch ics, php vcal zeilenumbruch in description, php ics schreiben, ics dateien php, vcalendar steuerzeichen, end:vevent end:vcalendar via php, ics datei php, ics dateien aktualisieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum