<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP &#8211; webmatze.de</title>
	<atom:link href="https://webmatze.de/category/webseiten-erstellen/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://webmatze.de</link>
	<description>Profi Tipps für einen erfolgreichen Internetauftritt</description>
	<lastBuildDate>Tue, 12 Jun 2012 15:46:53 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>PHP Scripte regelmäßig per cronjob ausführen lassen</title>
		<link>https://webmatze.de/php-scripte-regelmasig-per-cronjob-ausfuhren-lassen/</link>
					<comments>https://webmatze.de/php-scripte-regelmasig-per-cronjob-ausfuhren-lassen/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 12 Jun 2012 15:46:26 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[cronjobs]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=727</guid>

					<description><![CDATA[Heute möchte ich euch kurz zeigen, wie man PHP Scripte, die über einen Browser ausgeführt werden müssen, auch per Cronjob z.B. täglich ausführen lassen kann. Nehmen wir an, wir haben ein PHP Script, dass über die folgende URL aufgerufen wird. Nehmen wir beispielsweise an, dieses Script leert den Cache unserer Anwendung. Die URL für das [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Heute möchte ich euch kurz zeigen, wie man PHP Scripte, die über einen Browser ausgeführt werden müssen, auch per Cronjob z.B. täglich ausführen lassen kann.</p>
<p>Nehmen wir an, wir haben ein PHP Script, dass über die folgende URL aufgerufen wird. Nehmen wir beispielsweise an, dieses Script leert den Cache unserer Anwendung. Die URL für das Script könnte demnach folgendermaßen aussehen:</p>
<pre>http://www.meineseite.de/scripte/delete_cache.php</pre>
<p>Um also den Cache zu leeren, können wir diese URL einfach im Browser aufrufen. Doch was machen wir, wenn wir das Script nun jeden Tag um 12:00 Uhr ausführen wollen?</p>
<h2>Den Cron-Daemon nutzen</h2>
<p>Wenn wir das Glück haben, per SSH auf den Server zugreifen zu können und möglicherweise sogar noch root Rechte besitzen, können wir hierfür einen Cronjob für den Cron-Daemon erstellen. Was genau der Cron-Daemon ist, erfahrt ihr hier:</p>
<blockquote><p>"Der Cron-Daemon ist ein Dienst, der automatisch Skripte und Programme zu vorgegebenen Zeiten, also chronologisch, starten kann. Der auszuführende Befehl wird in einer Tabelle, der <strong>crontab</strong>, gespeichert. Es gibt systemweite Crontabs, die nur mit root-Rechten bearbeitet werden können, zusätzlich kann jeder Benutzer seine eigene Crontab erstellen."<br />
<em>Source: <a href="http://wiki.ubuntuusers.de/Cron">http://wiki.ubuntuusers.de/Cron</a></em></p></blockquote>
<p>Das bedeutet also, dass wir die Tabelle mit den Cronjob Befehlen bearbeiten müssen und unser Script dort eintragen. Unter Ubuntu funktioniert dies so.</p>
<pre>crontab -e</pre>
<p><span id="more-727"></span>Wenn wir diesen Befehl auf der Kommandozeile ausführen, gelangen wir in einen Editor, wo uns alle bisher vorhanden Cronjobs des aktuellen Nutzers angezeigt werden, sofern welche vorhanden sind. Bei mir unter Ubuntu sieht dies z.B. so aus:</p>
<pre># Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command</pre>
<p>Wir können also genau festlegen, welcher Befehl zu welchen Zeitpunkt bzw. in welchen Intervall ausgeführt werden soll. Da wir wollen, dass unser Befehl den Cache zu leeren jeden Tag um 12 Uhr ausgeführt werden soll, müssen wir also folgende Zeile am Ende der Datei einfügen:</p>
<pre>0 12 * * * /usr/bin/wget -q -O /var/log/delete_cache.log http://www.meineseite.de/scripte/delete_cache.php</pre>
<p>Wie ihr sehen könnt, verwende ich einfach das Linux Programm <strong>wget</strong>, um die Seite zu laden und gleichzeitig die Ausgabe des Scriptes in eine Log-Datei zu schreiben, welche über den Parameter<strong> -O</strong> angegeben werden kann.</p>
<p>Weitere Möglichkeiten das Script auszuführen, wären <strong>Curl</strong> oder <strong>Lynx</strong>:</p>
<pre>#mit curl
0 12 * * * /usr/bin/curl -o /var/log/delete_cache.log http://www.meineseite.de/scripte/delete_cache.php
#oder mit lynx
0 12 * * * /usr/bin/curl -dump http://www.meineseite.de/scripte/delete_cache.php</pre>
<h2>Mehrere Parameter übergeben</h2>
<p>Eine Besonderheit die ihr noch beachten solltet sind Parameter, die mit der URL zum Script mitgeschickt werden sollen. Nehmen wir an, wir haben zwei Parameter um den Cache für Artikel und das Gästebuch zu löschen.</p>
<pre>http://www.meineseite.de/scripte/delete_cache.php?articles=true&amp;guestbook=true</pre>
<p>Dann müssen wir in diesem Falle die URL in der Cron-Tabelle in Anführungszeichen schreiben, oder das &amp; Zeichen mit \ escapen:</p>
<pre>0 12 * * * /usr/bin/wget -q -O /var/log/delete_cache.log "http://www.meineseite.de/scripte/delete_cache.php?articles=true&amp;guestbook=true"
0 12 * * * /usr/bin/wget -q -O /var/log/delete_cache.log http://www.meineseite.de/scripte/delete_cache.php?articles=true\&amp;guestbook=true</pre>
<p>So, damit sollte es nun kein Problem mehr sein, euch täglich die Arbeit zu sparen um bestimmte URLs aufrufen zu müssen.</p>
<p>Im Allgemeinen sollte es jedoch immer besser sein, solche Script so zu programmieren, so dass sie direkt von der Kommandozeile ausgeführt werden können und nicht per Browser über eine URL aufgerufen werden. Die könnte schließlich auch ein Sicherheitsproblem sein.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/php-scripte-regelmasig-per-cronjob-ausfuhren-lassen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Eine eigene Online-Community</title>
		<link>https://webmatze.de/eine-eigene-online-community/</link>
					<comments>https://webmatze.de/eine-eigene-online-community/#comments</comments>
		
		<dc:creator><![CDATA[Gastautor]]></dc:creator>
		<pubDate>Fri, 24 Sep 2010 21:05:13 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Webseiten erstellen]]></category>
		<guid isPermaLink="false">http://webmatze.de/?p=552</guid>

					<description><![CDATA[An dieser Stelle wollen wir euch in Zukunft auch interessante Software und Scripte vorstellen, die Euch dabei helfen noch schneller und bequemer Eure eigenen Seiten oder Communities zu erstellen. Anfangen wollen wir heute mit der PHP Community Software Marlida. Mit der PHP-Software Marlida kann kostengünstig und ohne grossen Aufwand eine eigene Online-Community erstellt werden, sei [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>An dieser Stelle wollen wir euch in Zukunft auch interessante Software und Scripte vorstellen, die Euch dabei helfen noch schneller und bequemer Eure eigenen Seiten oder Communities zu erstellen. Anfangen wollen wir heute mit der PHP Community Software Marlida.</strong></p>
<p>Mit der <a href="http://webmatze.de/category/webseiten-erstellen/php/">PHP</a>-Software <a rel="nofollow" href="http://www.marlida.com/">Marlida</a> kann kostengünstig und ohne grossen Aufwand eine eigene Online-Community erstellt werden, sei es eine regionale Community für Ihre Stadt/Region, eine Nischen-Community zu einem bestimmten Thema oder auch ein allgemeines Netzwerk.</p>
<p><img decoding="async" class="alignleft size-full wp-image-598" title="boxcover" src="http://webmatze.de/wp-content/uploads/2010/09/boxcover.gif" alt="Marlida" width="190" height="190" srcset="https://webmatze.de/wp-content/uploads/2010/09/boxcover.gif 190w, https://webmatze.de/wp-content/uploads/2010/09/boxcover-150x150.gif 150w" sizes="(max-width: 190px) 100vw, 190px" />Die zahlreichen Funktionen und benutzerfreundlichen AJAX-Elemente der Basissoftware bilden das Grundgerüst und machen Marlida zu einer der beliebtesten Community-Lösungen. Auch die zahlreichen Module lassen nichts zu wünschen übrig: Forum, Blogs, Gruppen, Chat, Dating, Eventkalender, Fotoalben, Marktplatz, News und viele mehr. Durch den modularen Aufbau lässt sich <a rel="nofollow" href="http://www.marlida.com/">Marlida</a> jederzeit erweitern und so an die individuelle Bedürfnisse der jeweiligen Community anpassen.</p>
<p>Installiert wird <a rel="nofollow" href="http://www.marlida.com/">Marlida</a> auf Ihrem Server/Webspace, benötigt wird lediglich <a href="http://webmatze.de/category/webseiten-erstellen/php/">PHP</a> (in der Version 4 oder 5) sowie eine MySQL-Datenbank. Auf Wunsch kann die Installation und Einrichtung auch komplett vom Anbieter übernommen werden. Die Sourcecodes sind unverschlüsselt zugänglich, so dass mit <a href="http://webmatze.de/category/webseiten-erstellen/php/">PHP</a>-Kenntnissen problemlos eigene Erweiterungen integriert werden können. Ansonsten lässt sich die eigene Community völlig ohne Programmierkenntnisse über den umfangreichen Adminbereich verwalten.</p>
<p>Online-Communities liegen im Trend: Die Mehrheit der deutschen Internetnutzer, genau 85 Prozent, sind bereits Mitglied in einem oder mehreren Social Networks. Dies besagt die aktuelle Studie 'Web 2.0 - Soziale Netzwerke' der PriceWaterhouseCoopers. Beliebt sind unter anderem auch sogenannte Nischen-Communities, also ein Social Network, welches sich auf eine Stadt/Region bezieht oder aber ein spezielles Thema behandelt (zum Beispiel Auto, Sport, Musik usw.). Dazu gehören aber auch firmeninterne Netzwerke oder eine eigene Community für Vereine und Clubs.</p>
<p><em>Dies ist ein Gastbeitrag von <strong>Patrick Brunner</strong>.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/eine-eigene-online-community/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Email mit PHP senden</title>
		<link>https://webmatze.de/email-mit-php-senden/</link>
					<comments>https://webmatze.de/email-mit-php-senden/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Wed, 23 Aug 2006 23:56:54 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2006/01/24/email-mit-php-senden/</guid>

					<description><![CDATA[Wie man Emails mit PHP schreiben und versenden kann und was man alles beachten muß erfahrt ihr in diesem Artikel.]]></description>
										<content:encoded><![CDATA[<p>Eine der häufigsten Tätigkeiten, die man im Internet macht ist mit Sicherheit das Versenden und Empfangen von Emails. Es ist nun mal die einfachste und häufig auch die schnellste Möglichkeit, mit anderen Personen über das Netz Kontakt aufzunehmen. Doch Email lässt sich nicht nur zum Plaudern mit Freunden nutzen, sondern bietet auch andere Vorteile. So lassen sich damit Newsletter an viele Mitglieder einer Site senden. Möglicherweise unter Verwendung von Emailadressen, die in einer Datenbank gespeichert sind.</p>
<p>Doch wie lassen sich Emails versenden, ohne ein Emailclient nutzen zu müssen? Schöner wäre es, wenn man dies einfach über ein Webinterface machen könnte. Und hier kommt nun PHP ins Spiel, denn PHP bietet von Haus aus eine einfache Funktion zum Versenden von Emails. Was alles notwendig ist, um diese Funktion nutzen zu können, werde ich in diesem Artikel näher vorstellen.</p>
<h2>Email Setup in PHP</h2>
<p>Damit sich Email in PHP nutzen lässt, müssen einige Einstellungen in PHP vorgenommen werden, sofern dies nicht schon standardmäßig vom Provider voreingestellt ist. Wer einen eigenen Server verwendet, sollte folgende Einstellungen in der <strong>php.ini</strong> überprüfen, bzw. richtig einstellen. Also einfach die Datei in einem normalen Texteditor öffnen und nach der Sektion <strong>[mail function]</strong> suchen. Dort befinden sich normalerweise drei Einstellungen. <strong>SMTP</strong>, <strong>sendmail_from</strong> und <strong>sendmail_path</strong>. Je nachdem ob ein Windows oder ein Linux Server verwendet wird, müssen hier andere Einstellungen vorgenommen werden. In Linux wird unter <strong>sendmail_path</strong> der Pfad zum Sendmail Programm eingetragen und unter Windows in SMTP der SMTP Server. Das ganze würde dann jeweils wie folgt aussehen:<br />
<span id="more-10"></span></p>
<pre lang="text">[mail function]
; Setup für Linux Systeme
sendmail_path = /usr/sbin/sendmail -t
sendmail_from = mein@server.de

[mail function]
; Setup für Windows Systeme
SMTP = smtp.server.de
sendmail_from =mein@server.de</pre>
<p>In beiden Fällen wir unter <strong>sendmail_from</strong> die Emailadresse eingetragen, die später im "From" Feld der Email erscheinen soll die von PHP versendet wurde. Wenn die Einstellungen geändert wurden, muss die Datei abgespeichert und der Server neu gestartet werden.</p>
<h2>Eine Email mit PHP versenden</h2>
<p>Doch kommen wir nun zum spannenderen Teil. Und wenn man es genau nimmt, ist es sogar der einfachere Teil. Alles was man dazu benötigt ist die PHP Funktion <strong>mail</strong>. Das ganze sieht dann so aus:</p>
<pre lang="php">
<?php
  mail('empfaenger@name.de', 'Betreff', 'Und hier steht die Nachricht!');
?>
</pre>
<p>Die obere Anweisung würde also eine Email mit dem Betreff "Betreff" und dem Emailtext "Und hier steht die Nachricht!" an die Emailadresse "empfaenger@name.de" senden. Zugegebenermaßen keine wirklich nützliche Mail, aber sie soll ja auch nur die Funktion erläutern.</p>
<h2>Auf Fehler beim Senden prüfen</h2>
<p>Natürlich kann es beim Senden von Emails auch zu Fehlern kommen die einen korrekten Versand der Email verhinden. So kann zum Beispiel die Empfänger Email falsch geschrieben sein. Um solche Fehler abzufangen, kann man folgende Konstruktion verwenden:</p>
<pre lang="php">
<?php
  if (@mail($to, $subject, $message)) {
    echo('Die Email wurde erfolgreich versendet.');
  } else {
    echo('Die Email konnte nicht versendet werden.');
  }
?>
</pre>
<p>Wie die meisten anderen Funktionen in PHP liefert auch mail bei Mißerfolg Fehlermeldungen zurück. Um die Ausgabe der Fehlermeldung zu unterdrücken, stellt man der Funktion einfach ein @ vorran. Durch die if Funktion wird nun überprüft, ob die mail Funktion true oder false je nach erfolgreichen oder fehlerhaftem Ergebnis zurückliefert. Dementsprechend kann man nun eine eigene Fehlermeldung ausgeben.</p>
<h2>Eine Email an mehrere Empfänger versenden</h2>
<p>Um eine Email an mehrere Empfänger versenden zu können, muß einfach anstatt von nur einer Emailadresse eine Liste von Emails die durch Komma getrennt ist übergeben werden:</p>
<pre lang="php">
<?php
  mail('hans@name.de, klaus@name.de, susi@name.de', 'Betreff', 'Hier die Nachricht!');
?>
</pre>
<p>Diese Liste kann natürlich auch aus einer Datenbank geholt werden und der mail Funktion übergeben werden. So würde sich leicht eine Newsletter Anwendung entwickeln lassen, die automatisch den Newsletter an alle in der Datenbank gespeicherten Emails versendet.</p>
<p>Das ist eigentlich alles was man braucht, um eine einfache Email mit PHP versenden zu können. Natürlich bietet die mail Funktion noch ein paar weitere Möglichkeiten, um Emails zu versenden. Doch darauf werde ich in einem anderen Artikel näher eingehen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/email-mit-php-senden/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Flash Remoting für PHP &#8211; Eine Einleitung</title>
		<link>https://webmatze.de/flash-remoting-fur-php-eine-einleitung/</link>
					<comments>https://webmatze.de/flash-remoting-fur-php-eine-einleitung/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Tue, 24 Jan 2006 00:03:11 +0000</pubDate>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2006/01/24/flash-remoting-fur-php-eine-einleitung/</guid>

					<description><![CDATA[Dieser Artikel zeigt einige der Möglichkeiten auf, um mit PHP und Flash kommunizieren zu können. Das Ganze ist auch unter Flash Remoting bekannt.]]></description>
										<content:encoded><![CDATA[<p>Neulich habe ich wieder etwas mit Flash "herumgespielt" und bin auf das Problem gestoßen von Flash aus mit PHP zu kommunizieren. Wobei mit kommunizieren - Objekte zwischen Flash und PHP hin- und herzuschicken und Methoden der PHP Klasse aufzurufen - gemeint ist.</p>
<p>Leider bietet Flash standardmäßig nicht die komfortablen Funktionen um mit PHP kommunizieren zu können. Nur Java, Microsoft .NET und Coldfusion MX werden durch eine kostenpflichtige Erweiterung Namens <a href="http://www.macromedia.com/software/flashremoting/">Flash Remoting</a> unterstützt. Damit kann Flash mit Hilfe einiger ActionScript Dateien und einem Gateway auf der Serverseite Objekte und Klassen auf dem Server ansprechen und innerhalb des Flashfilmes wie eigene Objekte benutzen. Das schließt auch die Nutzung der Objekteigenen Funktionen oder Methoden mit ein.<br />
Eigentlich keine schlechte Lösung, aber leider nicht für PHP geeignet! Also muß etwas anderes her. Über Google bin ich dann auch gleich auf einige interessante Open-Source Projekte gestoÃŸen, die versuchen die gleiche Funktionalität auch für Flash bereitzustellen.</p>
<h2>AMFPHP - Die Open-Source Alternative</h2>
<p><span id="more-9"></span><br />
Am bekanntesten dürft hier das <a href="http://www.amfphp.org/">AMFPHP Projekt</a> sein. Es bietet Funktionen wie automatische Datentypen Konvertierung und Serialisierung der Objekte. AMFPHP basiert, wie der Name schon andeutet, auf der gleichen Technik wie Flash Remoting, indem es die Daten in einem binären Format transportiert. Das Action Message Format AMF benötigt weniger Bandweite, als wenn die Daten über XML transportiert werden würden. Da Macromedia das Format nicht offen dokumentiert hat, mußte es erst umständlich "gehackt" werden. Allerdings befindet sich AMFPHP noch in einer frühen Entwicklungsphase und sollte besser nicht in Produktionsumgebungen eingesetzt werden. Aber ein Blick darauf sollte nicht schaden. Einige Beispiele werden gleich mitgeliefert und sollten den Einstieg nicht all zu schwer machen.</p>
<h2>PHPObject - der andere Ansatz</h2>
<p>Ein weiteres Open-Source Project ist <a href="http://ghostwire.com/resources/phpobject/">PHPOject</a>. PHPObject funktioniert ähnlich wie AMFPHP basiert allerdings nicht auf dem AMF Format sondern transportiert die Daten in einem Textformat und nutzt dabei die konventionellen Client-Server Kommandos von Flash womit es die Daten serialisiert und deserialisiert. Außerdem bietet es ein WebServicesConnectivityAddOn das die Kommunikation mit WebServices aus Flash heraus sehr vereinfacht.<br />
PHPObject liegt bereits in der Version 1.4.1 vor und macht einen sehr guten Eindruck!</p>
<h2>Weitere Alternativen</h2>
<p>Neben den oben genannten Lösungen existieren noch weitere Projekte, die sich mehr oder weniger für die selbe Aufgabe eignen. Der <a href="http://cabron.sourceforge.net/">Cabron Connector</a> macht einen ausgereiften Eindruck und basiert auf der selben Idee wie PHPOject. Interessant ist auch der mitgelieferte Debugger.<br />
Und schließlich ist da noch der <a href="http://nuthing.com/flashconnect/">NKConnect PHP Connector</a> welcher die Kommunikation über WDDX (Web distributed data eXchange) einem XML Format ablaufen läßt.</p>
<p>Ihr seht, es gibt einige Alternativen zu Flash Remoting von Macromedia. Es ist also nicht notwendig darauf zu warten das Macromedia sich entlich bequemt und auch PHP unterstüzt. Im nächsten Teil meiner Serie zu Flash Remoting für PHP werde ich mich näher mit PHPObject beschäftigen und anhand eines einfachen Beispiels zeigen, wie einfach sich Flash und PHP verbinden lassen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/flash-remoting-fur-php-eine-einleitung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Einf&#252;hrung in PHP</title>
		<link>https://webmatze.de/einfuhrung-in-php/</link>
					<comments>https://webmatze.de/einfuhrung-in-php/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Thu, 19 Jan 2006 15:57:31 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2006/01/19/einfuhrung-in-php/</guid>

					<description><![CDATA[In dieser kurzen Einführung erfahrt ihr ein paar Grundlegende Dinge über die weit verbreitete Scriptsprache PHP.]]></description>
										<content:encoded><![CDATA[<p>Wenn du dich f&uuml;r die Erstellung von Webseiten interessierst, dann wirst du bestimmt schon einmal von <strong>PHP </strong>geh&ouml;rt haben. Aber vielleicht wei&szlig;t du noch nicht genau was das ist und wof&uuml;r es sich am besten einsetzen l&auml;&szlig;t. F&uuml;r alle, die mehr &uuml;ber PHP wissen wollen soll dieser Artikel als kurze Einf&uuml;hrung dienen.</p>
<h3>Eine kleiner R&uuml;ckblick </h3>
<p>PHP begann als kleines <strong>Open Source Projekt</strong>. Die erste Version wurde 1994 von <strong>Rasmus Lerdorf</strong> ver&ouml;ffentlicht und wurde seit dem st&auml;ndig erweitert und verbessert. Mit der Zeit fanden immer mehr Menschen heraus, wie hilfreich PHP sein kann und verhalfen der Scriptsprache zu einer stetig ansteigendem Verbreitung.</p>
<h3>Was ist PHP? </h3>
<p>PHP ist eine <strong>Scriptsprache</strong> die in HTML eingebunden und vom Server interpretiert wird. Sie eignet sich hervorragend um Seiten mit dynamischen Inhalten zu erstellen, mit <strong>Datenbanken</strong> zusammenzuarbeiten und selbst ganze e-Commerce Seiten damit umzusetzen. PHP arbeitet mit einer Reihe von Datenbanken zusammen. Dazu geh&ouml;ren zum Beispiel MySQL, PostgreSQL, Oracle, Informix, Sybase oder Mircosoft SQL Server.</p>
<h3>F&uuml;r welche Plattformen ist PHP erh&auml;ltlich? </h3>
<p>Die am meisten verwendete PHP Installation ist das unter <strong>Apache </strong>laufende PHP Modul f&uuml;r Linux oder UNIX. Doch auch f&uuml;r Windows NT und 9x gibt es                entsprechende Versionen sowie f&uuml;r eine Vielzahl verschiedener Web Server.<br />
<span id="more-7"></span></p>
<h3>Wozu brauche ich dynamische Webseiten? </h3>
<p>Man stelle sich vor, ein e-Commerce Angebot erstellen zu m&uuml;ssen, in dem mehrere Produkte angeboten werden. Nun k&ouml;nnte man die Produkte auf statischen Seiten auflisten und ins Netz stellen.<br />
Das w&auml;re sicherlich kein all zu gro&szlig;er Aufwand. Doch was passiert, wenn man das Angebot erweitern m&ouml;chte? Sagen wir auf 100 Produkte. Und die Preise m&uuml;&szlig;ten jede Woche aktualisiert werden. Dann w&uuml;rde ein Webmaster jede Woche Stunden damit verbringen, um alle Seiten immer auf dem neusten Stand zu halten.</p>
<p>Eine bessere Methode w&auml;re es, eine Datenbank zu verwenden und eine Vorlagen-Seite zu erstellen die sich zum Beispiel produkte.php nennt. Diese Vorlage k&ouml;nnte man so programmieren, das sie sich immer die passenden Produktdaten aus der Datenbank holt und                die Seite dynamisch erstellt wird. Mit dieser einen Vorlage k&ouml;nnte man dynamisch hunderte von Seiten generieren lassen, welche die Informationen aus der Datenbank darstellen ohne jeweils jede Seite von Hand erstellen zu m&uuml;ssen. Nun mu&szlig; nur noch jedes Mal die Datenbank erneuert werden. Den Rest besorgt PHP.</p>
<p>Dies l&auml;&szlig;t sich sicherlich auch durch Scriptsprachen wie Perl, Java, JavaScript und anderen bewerkstelligen. Jedoch hat PHP den Vorteil, nur f&uuml;r <strong>webbasierte Anwendungen </strong>entwickelt worden zu sein. Sie ist dazu auch noch leicht zu erlernen und bietet die besten Voraussetzungen, um Seiten mit dynamischen Inhalten, datenbankinteraktion und e-Commerce zu erstellen.</p>
<p>Wenn dies das ist, wonach du suchst, dann lies weiter um deine erste Seite mit PHP zu erstellen!</p>
<p>Dann fangen wir also gleich mal damit an und arbeiten uns durch ein einfaches Beispiel. Nat&uuml;rlich handelt es sich dabei nicht um einen umfassenden Einblick in PHP. Es soll nur als schneller Einstieg dienen.</p>
<h3>Hello World! </h3>
<p>Wie immer, wenn man eine neue Programmiersprache erlernt, f&auml;ngt man am besten mit dem obligatorischen <strong>&quot;Hello World!&quot;</strong> Beispiel an.</p>
<p>Wie ich schon erw&auml;hnt habe, handelt es sich bei PHP um eine Scriptsprache, die direkt in das HTML Dokument eingebunden wird. Die Datei kann sowohl HTML Tags enthalten als auch PHP Code. (Manchmal besteht sie auch nur aus PHP Code.) Demnach k&ouml;nnte eine einfache PHP Seite folgenderma&szlig;en aussehen:</p>
<pre lang="html4strict"><html>
      <body bgcolor="#FFFFFF">
           <?php echo "Hello World!" ?>
      </body>
</html></pre>
<p>Wenn diese Seite nun vom Server aufgerufen wird, zeigt uns der Browser <strong>Hello World!</strong> an. So einfach geht das! Wenn man sich nun den Quellcode der ausgegebenen Seite betrachtet, so f&auml;llt auf das der PHP Code durch HTML ersetzt wurde. Dies liegt daran, das der PHP Code vom Server verarbeitet und als HTML zur&uuml;ck an den Browser gesendet wird. Auch wenn dieses Beispiel nicht viel Sinn macht, das n&auml;chste Beispiel ist genauso einfach und vielleicht etwas n&uuml;tzlicher.</p>
<h3>Datum und Zeit ausgeben </h3>
<p>Dieses Beispiel gibt das Datum und die Zeit aus:</p>
<pre lang="php"><html>
      <body bgcolor="#FFFFFF">

<?php echo "Das aktuelle Datum und die Zeit ist: <br>";
      echo date("g:i A l, F j Y.");?>

// g = die Stunden im 12 Stunden Format
// i = Minuten
// A = AM oder PM
// l = Welcher Tag der Woche
// F = Monat
// j = Welcher Tag des Monats
// Y = Das Jahr

      </body>
</html></pre>
<p>Die Ausgabe k&ouml;nnte zum Beispiel so aussehen:</p>
<p><strong>Das aktuelle Datum und die Zeit ist:<br />
12:30 AM Monday, March 11 2001.</strong></p>
<p>Hier die Erkl&auml;rung zu den einzelnen Code-Teilen. Da ich davon ausgehe, das du mit den HTML Tags vertraut bist, werde ich nur den PHP Code erkl&auml;ren.</p>
<p>Der PHP Code begin mit dem <strong>&lt;?php</strong> Tag und endet mit <strong>?&gt;</strong>. Dies teilt dem Server mit, alle Anweisungen zwischen diesen beiden Tags als PHP Code zu verarbeiten. Au&szlig;er es handelt sich um regul&auml;re HTML Tags, welche normal verarbeitet werden. Wie im Script zu erkennen ist, befindet sich dort ein Zeilenumbruch Tag. PHP w&uuml;rde nicht sehr n&uuml;tzlich sein, wenn man keine HTML Formatierungen verwenden k&ouml;nnte.</p>
<p>F&uuml;r Kommentare im Code kann <strong>//</strong> verwendet werden. Die <strong>//</strong> Zeichen kennzeichnen ein Kommentar, welches vom Server nicht verarbeitet wird. Anders als HTML Kommentare erscheint es sp&auml;ter auch nicht im Quellcode der generierten Seite. <br /> Wenn normale <strong>&lt;!--&nbsp;Kommentar&nbsp;--&gt;</strong> Tags zwischen den <strong>&lt;?php</strong> und <strong>?&gt;</strong> Tags verwendet werden, kann dies zu Fehlern auf dem Server f&uuml;hren.</p>
<p>Jede PHP Funktion wird au&szlig;erdem immer mit einem Semikolon abgeschlossen. Wenn dieses Semikolon vergessen wird, f&uuml;hrt es immer zu Fehlern bei der Verarbeitung des Scripts auf dem Server. Also immer checken, ob auch &uuml;berall ein Semikolon gesetzt wurde!</p>
<p>Die <strong>date </strong>Funktion ist eine der vielen bereits in PHP enthaltenen Funktionen. PHP bietet au&szlig;erdem Funktionen f&uuml;r Datenbankanbindung, Erstellung von PDF Dokumenten, Shockwave, JPG, GIF und PNG Grafiken, zum Senden von eMails, zum Lesen und Schreiben von Dateien und vielen anderen n&uuml;tzlichen Funktion. Au&szlig;erdem hat der Benutzer die M&ouml;glichkeit eigene Funktionen zu definieren.</p>
<p>Ich hoffe diese beiden einfachen Beispiele konnten verdeutlichen, wie einfach es ist, PHP in die eigenen Seiten einzubinden und damit komplexe Funktionen auszuf&uuml;hren. In zuk&uuml;nftigen Artikeln werde ich n&auml;her auf die Erstellung von dynamischen Seiten und die Anbindung an MySQL Datenbanken eingehen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/einfuhrung-in-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>FTP mit PHP</title>
		<link>https://webmatze.de/ftp-mit-php/</link>
					<comments>https://webmatze.de/ftp-mit-php/#comments</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Fri, 13 Jan 2006 23:49:24 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/2006/01/24/ftp-mit-php/</guid>

					<description><![CDATA[In diesem Artikel möchte ich mich etwas näher mit den Fähigkeiten von PHP auseinandersetzen. Ich möchte euch einen einfachen Weg zeigen, wie ihr mittels PHP eure Dateien auf einen FTP Server uploaden könnt.]]></description>
										<content:encoded><![CDATA[<p>In diesem Artikel möchte ich mich etwas näher mit den Fähigkeiten von PHP auseinandersetzen. Ich möchte euch einen einfachen Weg zeigen, wie ihr mittels PHP eure Dateien auf einen FTP Server uploaden könnt. Warum man dies in PHP machen sollte und nicht etwa mit einem normalen FTP Client Programm? Nun, dafür gibt es mehrere Gründe.</p>
<p>Oft kann es vorkommen, das man sich hinter einer Firewall befindet und keinen Zugang auf den FTP Port erhält. Somit lassen sich keine FTP Clients verwenden. Oder man möchte Benutzern der eigenen Seite eine Möglichkeit bieten, Dateien per FTP auf den Server zu kopieren. Beides lässt sich mit einem simplen Formular und etwas PHP bewältigen. Doch kommen wir gleich zum Eingemachten.</p>
<p>Um FTP benutzen zu können, benötigen wir ein paar Funktionen, die ich im Folgenden näher erklären werde. </p>
<h3>ftp_connect - Verbindung zum Host herstellen</h3>
<p>Als allererstes müssen wir eine Verbindung zum FTP Host herstellen. Das geschieht mit der Funktion</p>
<p><strong>ftp_connect(String Host, int[Port])</strong>.</p>
<pre lang="php">$ftp_server = "ftp.meinserver.de";
$connection_id = ftp_connect($ftp_server);</pre>
<p>Der Parameter Port ist optional und standardmäßig auf 21 eingestellt, was der Standard Port für FTP ist.</p>
<h3>ftp_login - Anmelden einer FTP-Verbindung </h3>
<p>Nachdem wir eine Verbindung zum Host hergestellt haben, müssen wir uns nur noch mit Benutzernamen und Passwort anmelden. Die dazugehörige Funktion in PHP lautet</p>
<p><strong>ftp_login (int conn_id, string Benutzername, string Passwort)</strong>.</p>
<pre lang="php">
$benutzername = "Benutzername";
$passwort = "Passwort";
$login_result = ftp_login($connection_id, $benutzername, $passwort);
</pre>
<p>Wenn alles gutgegangen ist, haben wir jetzt Zugriff auf die Dateien. Nun müssen wir nur noch die gewünschte Datei hochladen.<br />
<span id="more-8"></span></p>
<h3>ftp_put - Datei auf den FTP Server &uuml;bertragen </h3>
<p>Sehen wir uns zuerst einmal die Funktion an.</p>
<p><strong>ftp_put (int conn_id, string Zieldatei, string Lokale_Datei, int Modus)</strong></p>
<p><strong>Lokale_Datei</strong> ist hierbei die Datei die als Datei namens Zieldatei auf dem Server gespeichert werden soll. Wichtig ist auch der Parameter Modus, der bestimmt ob die Datei im binären (<strong>FTP_BINARY</strong>) oder im ASCII (<strong>FTP_ASCII</strong>) Modus übertragen wird. In unserem Beispiel würde das Ganze dann wie folgt aussehen:</p>
<pre lang="php">
$zieldatei = "test.htm";
$lokale_datei = "test.htm";
$upload = ftp_put ($connection_id, $zieldatei, $lokale_datei, FTP_ASCII);
</pre>
<h3>ftp_quit - Die FTP Verbindung wieder schlie&szlig;en </h3>
<p>Wenn alles erledigt wurde, was zu erledigen war, müssen wir die Verbindung auch wieder schließen. Ordnung muß sein. Die dazugehörige Funktion ist sehr simple.</p>
<p><strong>ftp_quit(int conn_id)</strong></p>
<p>Sie ist so simple, das ich jetzt kein Beispiel zeigen möchte, sondern lieber gleich alles in einem großen Script zusammenfasse.</p>
<h3>Das fertige Script</h3>
<p>Als Beispiel möchte ich euch ein einfaches Script zeigen, das es Besuchern erlaubt Textdateien auf einen gewünschten FTP Server zu laden. Dazu können sie die Datei mit folgendem Formular auswählen und abschicken:</p>
<pre lang="html4strict"><html>
<head>
<title>Datei Upload</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
	<h1>Schicken Sie uns ihre Texte</h1>
	<form action="ftpbeispiel.php" enctype="multipart/form-data" method="POST">

		<p> Wählen Sie eine Textdatei (txt, html usw.)
		von Ihrem Rechner aus:<br />
		<input name="lokale_datei" type="file"
		size="50" maxlength="1024" accept="text/*">

		</p>
		<p>Verzeichnis/Zieldatei<br>
		<input type="text" name="zieldatei">
		</p>

		<p>
		<input type="submit" name="Abschicken"
		value="Abschicken">
		</p>

	</form>
</body>
</html>
</pre>
<p>Ist das Formular ausgefüllt und abgeschickt, werden die Daten an das folgende Script gesendet und dort verarbeitet. Die drei ersten Variablen müssen noch an den eigenen FTP Server angepasst werden. Die Dateien werden relativ zu dem Verzeichnis abgelegt, in dem sich dieses Script befindet.</p>
<pre lang="php">
<?php
// Diese Variablen bitte ändern
$ftp_server = "ftp.meinserver.de";
$benutzername = "mustermann";
$passwort = "geheim";

// Die Verbindung herstellen
$connection_id = ftp_connect($ftp_server);

// Mit Benutzername und Kennwort anmelden
$login_result = ftp_login($connection_id, $benutzername, $passwort);

// überprüfen ob alles gutgegangen ist
if ((!$connection_id) || (!$login_result)) {
	echo "<H1>Ftp-Verbindung nicht hergestellt!<H1>";
	echo "<P>Verbindung mit ftp_server als Benutzer $benutzername nicht möglich!</P>";
	die;
} else {
	echo "<P>Verbunden mit ftp_server als Benutzer $benutzername</P>";
}

// Die aus dem Forumular übergebenen Daten abfragen
$zieldatei = $_POST['zieldatei'];
$lokale_datei = $_POST['lokale_datei'];

// Hochladen der datei
$upload = ftp_put($connection_id, $zieldatei, $lokale_datei, FTP_ASCII);

// Upload-Status überprüfen
if (!$upload) {
	echo "<P>Ftp upload war fehlerhaft!</P>";
} else {
	echo "<P>Datei $slokale_datei auf $host als $zieldatei geschrieben</P>";
}

// Schließen der Verbindung
ftp_quit($connection_id);
?>
</pre>
<p>So jetzt alles auf euren Server laden und fertig.</p>
<h3>Wichtig!</h3>
<p>Da es dieses Script jedem erlaubt Dateien auf euren Server zu laden, solltet ihr es mit Bedacht einsetzen. Denkbar wäre ein Passwortschutz und eine Beschränkung der Dateigröße.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/ftp-mit-php/feed/</wfw:commentRss>
			<slash:comments>39</slash:comments>
		
		
			</item>
		<item>
		<title>Javascript zu PHP Kommunikation</title>
		<link>https://webmatze.de/javascript-zu-php-kommunikation/</link>
					<comments>https://webmatze.de/javascript-zu-php-kommunikation/#respond</comments>
		
		<dc:creator><![CDATA[Mathias Karstädt]]></dc:creator>
		<pubDate>Thu, 02 Sep 2004 16:21:00 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://version3.webmatze.de/javascript-zu-php-kommunikation/</guid>

					<description><![CDATA[An mich - unbedingt diesen Artikel lesen : Crouching Javascript, Hidden PHP [1] und dann auch gleich noch diesen: Crouching Javascript, Hidden PHP [2] und dann ein Beispiel basteln! ;)]]></description>
										<content:encoded><![CDATA[<p>An mich - unbedingt diesen Artikel lesen :<br />
<br /><a href="http://www.sitepoint.com/blog-post-view.php?id=191776">Crouching Javascript, Hidden PHP [1]</a><br />
<br />und dann auch gleich noch diesen:<br />
<br /><a href="http://www.sitepoint.com/blog-post-view.php?id=192138">Crouching Javascript, Hidden PHP [2]</a><br />
<br />und dann ein Beispiel basteln! ;)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://webmatze.de/javascript-zu-php-kommunikation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
