Kurzübersicht zu wichtigen PHP-Funktionalitäten

Aus Tipps, Tricks und Anleitungen
Version vom 11. November 2015, 14:55 Uhr von Edit (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Artikel |Frage=Welche Basistricks gibt es bei der Verwendung von PHP? |Text=Dieser Artikel dient im Wesentlichen als Ergänzung zu dem Schnellkurs - PHP…“)

(Unterschied) →Nächstältere Version | Aktuelle Version ansehen (Unterschied) | Nächstjüngere Version← (Unterschied)
Wechseln zu: Navigation, Suche
Amazon-Werbung
Hinweis: Der Autor des Artikels ist kein ausgebildeter Fachmann zum Thema. Alle hier getroffenen Aussagen sind nach bestem Wissen sowie gegebenenfalls nach persönlicher Einschätzung des Autors getroffen. Dabei ist es leider nicht auszuschließen, dass einige Angaben veraltet, irreführend oder sonstwie fehlerhaft sind. Letztendlich liegt es in der Verantwortung jedes einzelnen Lesers, die hier gemachten Angaben zu überprüfen und gegebenenfalls weitere Informationen einzuholen. Der Autor kann und will darum keine Garantie oder Haftung für Probleme oder Verluste, die trotz oder wegen der Befolgung der hier genannten Ratschläge eintreten, übernehmen. Jeder Leser hat natürlich die Möglichkeit, die folgenden Ratschläge nicht zu befolgen oder sie gar nicht erst zu lesen.


Welche Basistricks gibt es bei der Verwendung von PHP?

Dieser Artikel dient im Wesentlichen als Ergänzung zu dem einleitenden Artikel zur Verwendung von PHP auf eigenen Webseiten. Er zeigt in kurzen Code-Beispielen typische Mittel der Programmiersprache PHP.

Variablen

PHP Variablen werden durch ein vorangestelltes „$“ gekennzeichnet. Der Zuweisungsoperator ist das "=" - Zeichen:

 $var = 42;
 $var = 'abc';

Wie man im obigen Beispiel sieht, müssen Variablen nicht deklariert werden, sondern stehen direkt zur Verfügung. Nicht gesetzte Variablen haben dabei den Wert NULL. Es gibt auch nur eine sehr lockere Typkontrolle und der Inhaltetyp darf sich jederzeit ändern. Um selber einen Variablentyp zu erfragen oder zu erzwingen, stehen unter anderem folgende Operatoren und Funktionen zur Verfügung:

  • is_integer($var) liefert true, wenn $var vom Typ Integer
  • is_numeric($var) liefert true, wenn $var von numerischem Typ
  • is_string($var) liefert true, wenn $var vom Typ String
  • isset($var) liefert true, wenn $var nicht NULL (also gesetzt)
  • $var = (int) $var zwingt $var in den Typ Integer
  • $var = (double) $var zwingt $var in den Typ Double
  • $var = (string) $var zwingt $var in den Typ String

Zum Rechnen stehen folgende Basisoperatoren zur Verfügung:

  • $var = $var + 47; +, -, *, / funktionieren entsprechend
  • $var = $var.'def'; . verknüpft zwei Texte

Abkürzungen:

  • $var++; Erhöhe $var um 1
  • $var--; Verringere $var um 1
  • $var += 47; Erhöhe $var um 47
  • $var .= 'def'; Strings verketten

Tipps

  • Alle Operationen sind nicht typsicher. Die Variablen werden je nach Operator als String oder Array behandelt. Aus Sicht der Bequemlichkeit ist das ein großer Vorteil, kann aber ungewollt zu falschen Resultaten führen.

Beispiel: $var1 = 123;

$var2 = "123 Jump Street"

Wegen der fehlenden Typkontrolle ergibt $var1 + $var2: 246

  • Bei sicherheitsrelevanter Nutzung: Wert sicherstellen. Insbesondere sicherstellen, dass man selber diesen Wert gesetzt hat, indem man benutzte Variablen initialisiert, denn Werte können üblicherweise beim Seitenaufruf auch von außen gesetzt werden.
  • Es gibt einen Unterschied zwischen "" (Anführungszeichen) und (Hochkommata). Im Wesentlichen werden beide gleich behandelt, allerdings werden Angaben in Anführungsstrichen zusätzlich interpretiert:

Wenn man der Variable $user den Wert "admin" zuweist durch $user="admin" (die Zuweisung $user='admin' hätte genau dasselbe Ergebnis) kann man die unterschiedliche Wirkungsweise der Anführungszeichen mittel des echo-Befehls sichtbar machen:

echo '$suser'; (liefert: $user (den Text))

echo "$user"; (liefert: admin (den Inhalt))


Vergleiche

Vergleiche erfolgen mit Hilfe der if ()-Anweisung, wobei der Vergleichsausdruck in Klammern steht. Sollen aufgrund eines Vergleichs mehrere Befehle ausgeführt werden, müssen diese als Code-Block in geschweiften Klammern zusammengefasst werden. Optional lassen sich mit „elseif()“ oder „else“ weitere Ergebnisfälle hinzufügen.

 if ($a > $b)
   $a=0;
 if ($a > $b)
 {
   $a=0;
   echo 'habe $a gleich 0 gesetzt';
 }
 elseif( ....)
 {
 ....
 }
 elseif( ....)
 {
 ....
 }
 else
 {
 ...
 }

Typische Vergleichsoperatoren

  • == gleich (hier ist "123" (der Text) gleich 123 (die Zahl) )
  • === genau gleich
  •  != nicht gleich
  • > größer als
  • < kleiner als
  • >= größer gleich
  • <= kleiner gleich
  •  ! nicht (logische Umkehrung des Wahrheitsgehalts)
  • && And (logische Und-Verknüpfung zweier Aussagen)
  • || Or (logische Oder-Verknüpfung zweier Aussagen)

Tipps

  • Man benutzt in der Praxis meist "==" statt „===“.
  • Ein häufiger und gefährlicher Fehler ist es, versehentlich "=" (Zuweisung) als „Vergleichsoperator“ zu verwenden.
  • Innerhalb von geschweiften Klammern lassen sich mehrere PHP-Programmzeilen zu einem Block zusammen fassen. Dies benötigt man regelmäßig, um etwa bei Vergleichen oder bei Schleifen mehr als eine Code-Zeile auszuführen.


Funktionen

PHP liefert eine große Anzahl vorgefertigter Funktionen. Diese werden aufgerufen durch den Funktionsnamen gefolgt von zwei runden Klammern. Falls Parameter an die Funktion übergeben werden sollen, werden die Parameter durch Komma getrennt zwischen die Klammern geschrieben. Fall die Funktion einen Rückgabewert liefert, ist der Funktionsaufruf zugleich auch der Rückgabewert. Das heisst $var1 = max(3,4,7); weist der Variable $var1 gleich auch den Wert 7 zu. Es gibt eine große Anzahl solcher vorgefertigter Funktionen. Im folden sollen einige sehr häufig benutzte genannt wredn.

Mathematische Funktionen:

  • abs($a) Absolutwert
  • $a%$b Modulo - eigentlich ein Operator
  • max($a,$b,$c,..) Maximum
  • min ($a,$b,$c,..) Minimum
  • round ($a), round($a,3) Runden
  • sqrt($a) Wurzel
  • pow($a,$b) Potenz: „a hoch b“
  • rand($a, $b) Zufallszahl zwischen a und b

Stringfunktionen:

  • substr($var,$first,$last) Teilstring
  • $strlen($var) Zeichenanzahl
  • $strpos($hay,$needle) erstes Vorkommen in einem String; ansonsten -1
  • explode($needle,$hay) erzeugt ein Array aus einem String; Trennzeichen $needle
  • ord ($character) ASCII-Wert eines Zeichens
  • chr($asc) Zeichen zu ASCII-Wert
  • printf("Gesamtwert: %08.2f", $value); Formatierte Ausgabe

Tipps

Einige String-Befehle aus anderen Programmiersprachen existieren nicht in PHP, können aber wie folgt leicht nachgebaut werden:

  • substr($var,0,$b) entspricht "left()"
  • substr($var,$a,999999) oder substr($var,$a,strlen($var)) entspricht "right()"
  • strpos($hay,$needle) entspricht „instr()“


Variablenübergabe

Der Programmablauf bei der Webseitenprogrammierung hat einen wesentlichen Nachteil gegenüber den meisten anderen Programmen. Jede Webseite ist ein eigenes Programm und mit der Darstellung der Webseite ist das Programm abgeschlossen. Führt der Nutzer etwa über einen Link oder ein Formular eine Aktion durch, so wird eine neue Webseite aufgerufen und ein komplett neues Programm aufgerufen (selbst wenn die gleiche Webseite erneut aufgerufen wird), dem alle Variablenwerte des Vorgängerprogramms unbekannt sind. Immerhin kann die alte Seite der neuen Seite beim Aufruf Informationen in Form von Variablenwerten mitgeben. Dies kann über die URL der neuen Seite geschehen („get“) oder implizit („post“). Die neue Seite kann diese Werte auslesen und benutzen:

  • $wert = $_GET['wert']; (liest per get übergebene Werte ein)
  • $wert = $_POST['wert']; (liest per post übergebene Werte ein)
  • $wert = $_REQUEST['wert']; (liest sowohl get und post ein)

Die Post-Übergabe hat den Vorteil, für den Anwender unsichtbar zu funktionieren, steht aber nur bei der Verwendung von <form>-Elementen zur Verfügung. Die Get-Übergabe kann bei <form>-Elementen und bei Links benutzt werden. Sie bedeutet allerdings einen Zusatz in der URL und ist für den Anwender sichtbar. Zudem ist diese Übertragungsmethode von der Anzahl der übertragbaren Zeichen begrenzt. Die Get-Übergabe hängt an die Ziel URL ein „?“ als Signalzeichen und dann die Variable mit Namen und Wert an. Weitere Namen-Wert-Paare können mit dem „&“-Zeichen angehängt werden, wobei das WWW-Konsortium (w3.org) empfiehlt „&“ statt „&“ zu verwenden.

Beispiel:

Aufruf: http://www.example.org?wert1=7&wert2=hallo&wert3=abc

Die Werte wert1,wert2,wert3 können dann in der Zieldatei ausgelesen werden. $monat = $_REQUEST['wert1'];

$text = $_REQUEST['wert2'];

$user = $_REQUEST['wert3'];

Diese Schreibweise kann also problemlos in Links innerhalb des eigenen Programms eingebaut werden, die dann Werte übermitteln.

Allerdings übernimmt PHP in der Standardeinstellung automatisch auch die Werte $wert1, $wert2, $wert. Der Nutzer dann theoretisch beliebige Variablen setzen, indem er sie einfach an die URL übergibt. Alle erhaltenen und verwendeten Werte müssen daher auf Sinnhaftigkeit und Statthaftigkeit überprüft werden, um eventuelle Sicherheitsprobleme zu vermeiden. Zudem sollte man niemals Variablen verwenden, die man nicht selbst initialisiert hat.

Beispiel:

 $pass = $_REQUEST['pass'];
 if ($pass == 'admin123geheim')
   $user = 'admin';
 if ($user == 'admin')
   include ('zeige_geheimnis.php); 


Das obige Beispiel ist unsicher, da die Variable $user theoretisch vom Besucher beim Seitenaufruf auf 'admin' gesetzt werden kann: http://www.example.org?user=admin

Selbst wenn auch $admin im ersten Beispiel korrekt initialisiert wäre (etwa indem in der ersten Zeile steht: $user=;, könnte der Besucher noch über die Datei „zeige_geheimnis.php“ ans Ziel kommen, falls $admin dort nicht ebenfalls initialisiert wird:

(in „zeige_geheimnis.php“)

 if ($user == 'admin')
   echo 'geheime information';

(Ein böser Nutzer kann mit Aufruf von „http://www.example.org/zeige_geheimnis?user=admin“ ans Ziel kommen.)

Tipps

  • "Hidden"-Formular-Elemente, die HTML bietet sind zwar in der Programmausführung unsichtbar, allerdings im Programmcode, der dem Benutzer zugänglich ist, sichtbar. Man sollte also hier keine Geheimnisse „verstecken“.
  • Man sollte vermeiden, geheime Daten per get zu erwarten, da sie (z.B. für anwesende Personen) in der URL sichtbar sind.
  • Schlüsselwerte sollte man nie übernehmen, sondern stets selbst ermitteln. Zur Übergabe etwa eines Nutzernamens sollte man eine Sessionid generieren und diese stattdessen übergehen, um den Nutzer indirekt zu identifizieren.
  • Die Sinnhaftigkeit von Ausdrücken kann mit regulären Ausdrücken überprüft werden, diese haben eine aufwändige Syntax, sollten aber ggf. ausserhalb dieses Kurses erlernt werden, da sie ein allgemeines Programmier-Konzept sind. Beispiel:
 preg_match("!^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$!",$email,$flag);
  if ($flag[0] == '')
    $error_text .= "Die email-Adresse ist fehlerhaft.<br>";


Kommentare

Kommentare dienen zur Erläuterung innerhalb des Programmcodes und werden nicht angezeigt oder ausgeführt. Während der Entwicklung kann man zudem Programmteile auskommentieren, um sie testweise und vorübergehend aus dem Programm zu entfernen, etwa zur Eingrenzung eines Fehlers.

// Ich bin ein Kommentar (nur diese Zeile) # Ich bin auch ein Kommentar (nur diese Zeile) (Kurzform von „//“) /* Alles was hier steht ist auch Kommentar... */


Arrays

PHP besitzt im Gegensatz zu anderen Programmiersprachen sehr starke und komfortable Möglichkeiten der Zuweisung und des Zugriffs auf Arrays. Insbesondere können als Indizes beliebige Werte (Zahlen und Texte) verwendet werden. Das Array als Ganzes wird wie eine Variable mit einem vorangestellten „$“-Zeichen gekennzeichnet. Auf die einzelnen Arrayelemente greift man mit den entsprechen Indizes zu, die in eckigen Klammern angegeben werden. Auch bei Arrays "existieren" wie bei Variablen nicht zugewiesene Elemente. Das Array-Objekt umfasst jedoch nur die explizit zugewiesenen (z.B: bei count(), array_keys() oder vardump() - siehe unten).

Numerische Indizes können beliebig zugewiesen werden und müssen dabei nicht notwendig fortlaufend vergeben werden. Im folgenden sind einige Zuweisungsmethoden aufgeführt:

 $datensatz[0] = 'Montag';
 $datensatz[1] = 'Dienstag';
 $datensatz[3] = 'Donnerstag';

oder

 $datensatz[] = 'Montag';
 $datensatz[] = 'Dienstag';
 $datensatz[] = '';
 $datensatz[] = 'Donnerstag';

oder

$datensatz = Array ('Montag', 'Dienstag', '',  'Donnerstag');

Anmerkung: Das erste Beispiel unterscheidet sich leicht von den beiden folgenden, da dort das Element mit dem Index [2] gleich NULL ist, in den anderen Beispielen hat das Element mit Index [2] den Wert "".

Hinweis:

  • Auch Strings können sich teilweise wie Arrays verhalten, was zu logischen Fehlern führen kann, wenn der Programmierer dies falsch implementiert:
 $var = „hallo“
 if ($var[1] != '')
   echo 'Ich bin ein Array'  #eigentlich nicht
 else
   echo 'Ich bin ein String'
 echo '<br>Mein Wert ist: '.$var[1];


Texte als Indizes Wie erwähnt, müssen Indizes nicht numerisch sein, sondern können auch Texte sein:

 $datensatz['monday'] = 'Montag';
 $datensatz['tuesday'] = 'Dienstag';
 $datensatz['thursday'] = 'Donnerstag';

oder

 $datensatz = Array ('monday' => 'Montag', 'tuesday' => 'Dienstag', 'thursday' => 'Donnerstag');


Mehrdimensionale Arrays

Ebenso können mehrdimensionale Array verwendet werden, wobei für die einzelnen Dimensionen numerische und nicht numerische Indizes gemischt werden können

 $datensatz['tage'][2009]['Q3'] = 'Donnerstag';
 $umsatz['Hamburg'][2009]['Q4']['Kugelschreiber'] = 1253.75;


Wichtige Array-Funktionen

  • array_keys($arr1) Liefert die Keys des Arrays als Array
  • array_merge($arr1,$arr2) Verbindet zwei Arrays als Array
  • array_multisort($arr1,SORT_DESC,$arr2) sortiert alle angegeben Array analog des ersten
  • array_unique($arr1) Löscht doppelte Elemente in einem Array
  • count($arr1) Liefert die Anzahl der Array-Elmente
  • in_array($var,$arr1) Prüft, ob $var als Element im Array enthalten ist
  • sort ($arr1) Sortiert ein Array
  • unset ($arr1) Löscht ein Array
  • vardump ($arr1) gibt eine Übersicht über die Arrayinhalte aus


Schleifen

In Schleifen werden sich wiederholende gleiche oder zumindest ähnliche Anweisungen zusammengefasst. Die Anzahl der Durchgänge kann dabei variabel zur Laufzeit festgelegt werden. Dazu wird eine Abbruchbedingung festgelegt. Eine Schleife kann auch vorzeitig durch die „break;“-Anweisung beendet werden. Es gibt mehrere Schleifenvarianten, die bei den allermeisten Fällen das gleiche leisten. Üblicherweise wird die „for()“-Schleife verwendet. Bei Schleifen, die keinen Zähler benötigen, sondern nur eine Abbruchbedingung erfragen, wird oft auch eine „while()“-Schleife verwendet.

For()-Schleife

Am einfachsten verwendet man eine „for()“-Schleife, die eine bestimmte Anzahl von Schleifendurchgängen erledigt, bis eine Abbruchbedingung verletzt ist. Die „for()“-Schleife besteht aus drei Parametern die mit Semikolon abgetrennt werden. Einzelne Parameter können prinzipiell leer gelassen werden, was aber nur selten Sinn ergibt. Der erste Parameter gibt an, was einmalig zu Beginn der Schleife getan werden soll. Der zweite enthält die Abbruchbedingung; die Schleife wird solange ausgeführt, wie diese „true“ ist. Die Anweisung des dritten Parameters wird jedesmal als letzte Anweisung ausgeführt, bevor die Schleife in eine neue Runde geht.

 for ($a=0; $a<count($arr1); $a++)
 {
   echo $arr1[$a];
 }

While()-Schleife

„While()“-Schleifen betrachten dagegen nur eine Abbruchbedingung, welche in den runden Klammern angegeben ist. Bei einer normalen While()-Schleife wird die Abbruchbedingung zu Beginn getestet.

 $a=0;
 while ($a<count($arr1))
 {
   echo $arr1[$a];
   $a++;
 }

In dieser Variante wird die Schleife immer zumindest einmal durchlaufen und erst am Ende die Abbruchbedingung getestet:

 $a=0;
 do
 {
   echo $arr1[$a];
   $a++;
 }
 while ($arr1[$a] != 'Testwert');

Tipps

  • Der häufigste Fehler bei einer Schleife ist eine falsche Abbruchbedingung. Diese wird nie erreicht und die Schleife läuft endlos. Das endlose Ausführen eines Funktionsblocks führt nicht nur zu unerwünschten Seiteneffekten (zum Beispiel wenn innerhalb der Schleife Datenbankeinträge erzeugt oder Emails versendet werden), sondern fordert auch riesige Mengen an Rechenzeit und blockiert so in den meisten Fällen den Server. Auch nach dem manuellen Schließen der Webseite können bereits angestoßene Anweisungen noch ausgeführt werden, sodass die Serverlast nicht sofort sinkt. Im schlimmsten Fall, wenn unbedingt ein sofortiges Ende nötig ist, müssen betroffene Serveranwendungen kurz beendet und neugestartet werden. Am besten begrenzt man, wo es möglich ist, die maximale Ausführungszeit eines Programms. Neben einer falschen Abbruchbedingung, kann die unachtsame Verwendung einer Schleifenvariable innerhalb der Schleife (insbesondere bei „CopyPaste-Programmierern“) die Ursache sein:
 for ($a=0;$a<10;$a++)
   $a=7;
  • Ein falsch gesetztes Semikolon wiederum führt auch hier dazu, dass eine Schleife gar nicht durchlaufen wird:
 for ($a=0;$a<10;$a++);
   echo 'hallo';


Datumsfunktionen

Es gibt einige Datumsfunktionen, wobei häufig der Befehl time() als Grundlage genommen wird. Dieser liefert die Systemzeit des Servers und zwar in Sekunden seit dem 1.1.1970 00:00.

  • time() Serverzeit in Sekunden seit 1.1.1970 0:00
  • date ('d.m.Y. H:i:s', $zeitwert) generiert ein formatiertes Datum aus einem Zeitstempel (erkannte Werte d,D,F,j,l,L,m,M,t,w,y,Y,z)
  • mktime ($hour, $minute, $seconds, $month, $day, $year) erzeugt zu einem Datum einen Zeitstempel

Da Zeitstempel Integerwerte annehmen, kann mit ihnen genauso gerechnet werden.

Hinweis:

  • Sollte man selber eigene Zeitstempel (zum Beispiel mit „mktime()“) generieren, so ist darauf zu achten, dass negative Zeitstempel bei vielen Datumsfunktionen einen Fehler hervorrufen. Das ist zum Beispiel ein Problem bei Geburtstagen, die häufig für dem festgelegten „0-Datum“ liegen. Wenn derartige Daten unbedingt einen Zeitstempel benötigen, dann muss ein entsprechender Offset festgelegt werden.

Servervariablen

Über PHP hat man Zugriff auf einige Informationen des Webservers. In der Praxis kann man auf diese Informationen zugreifen, wie auf Variablen. Einige Informationen wie zum Beispiel der Name des Webservers oder sein Rootverzeichnis sind dabei Informationen des Servers selbst:

  • Name des Servers: $_SERVER[HTTP_HOST]
  • Rootverzeichnis: $_SERVER[DOCUMENT_ROOT]

Andere Informationen sind Informationen, die der Webserver vom Client erhalten hat. Also Informationen, die der Browser des Besuchers an den Server weitergeleitet hat. Diese Informationen müssen daher nicht notwendig stimmen oder vollständig sein. In der Praxis kann man sich aber recht gut auf diese Informationen vom Client verlassen:

  • Zuvor besuchte Seite: $_SERVER[HTTP_REFERER]
  • Client-Software: $_SERVER[HTTP_USER_AGENT]
  • Client-Sprache: $_SERVER[HTTP_ACCEPT_LANGUAGE]
  • IP-Adresse des Clients: $HTTP_SERVER_VARS[REMOTE_ADDR]

Es gibt noch weitere Webserverinformationen, die man abfragen kann, doch die oben genannten sind in den meisten Anwendungen die spannendsten. Sie bieten zahlreiche Möglichkeiten wie zum Beispiel auch den Aufbau einer Browserweiche, bei dem das Seitenlayout entsprechend dem benutztem Browser des Bescuhers angepasst werden kann:

if (stristr($_SERVER[HTTP_USER_AGENT],'MSIE') != )
   echo 'Hier kommt Seitenaufbau für Internetexplorer';
else
   echo 'Hier kommt Seitenaufbau für die anederen Browser';

MySQL

PHP wird in den meisten Fällen mit MySQL als Datenbank verwendet, aber auch andere Datenbanken können auf Wunsch angesprochen werden. Dafür gibt es spezielle Funktionen, die den Zugriff auf die Datenbank regeln.

Hier sollen nur exemplarisch die wichtigsten Befehle genannt werden:

  • mysql_connect ('servername1','user1','pass1'); liefert die Verbindung zum Datenbankserver
  • mysql_select_db('db_name',$Srv); selektiert eine Datenbank
  • mysql_query($sqlabfrage,$Srv); führt eine Abfrage aus

Tipps:

  • Beim Zugriff auf SQL-Datenbanken sollten an die Nutzereingaben besondere Vorsichtsmassnahmen geknüpft werden, da es über SQL-Injection zu Angriffen kommen kann.

Dateizugriffe

In diesem Fall soll ein Beispiel selbsterklärend präsentiert werden. Das Beispiel legt einen Ordner an und liest und schreibt in Dateien. Zudem werdenb einige Prüffunktionen gezeigt, die den Status und die Art von Dateien prüfen

 <?
 $verzeichnis = 'daten';
 $dateiname = 'test.txt';
 mkdir($verzeichnis);
 $text = "hallo1\r\nhallo2\r\nhallo3\r\n";
 $text .= 'hallo1\r\nhallo2\r\nhallo3\r\n';
 echo 'Directory-Name: '.dirname($dateiname).'
'; if (file_exists($dateiname)) { $datei = fopen($dateiname,'r'); $stopflag = 1; while (!feof($datei) && $stopflag <1000) { $zeile = fgets($datei,9999); echo '* '.$zeile.'
'; $stopflag++; } } else { echo 'Datei '.$dateiname.' existiert nicht.
'; } $datei = fopen($dateiname,'w'); fwrite($datei,$text); fclose($datei); for ($a=0; $a<100000; $a++) $a = $a; echo 'Ist ein Directory (datei 1): '.is_dir($dateiname).'
'; echo 'Ist ein Directory (verzeichnis): '.is_dir($verzeichnis).'
'; echo 'Directory-Name (datei 1): '.dirname($verzeichnis).'
'; $datei = fopen($verzeichnis.'\\'.$dateiname,'w'); fwrite($datei,$text); fclose($datei); echo 'Ist ein Directory (datei 2): '.is_dir($verzeichnis.'\\'.$dateiname).'
'; echo 'Directory-Name (datei 2): '.dirname($verzeichnis.'\\'.$dateiname).'
'; if (copy ($verzeichnis.'\\'.$dateiname,'copy.txt')) echo 'Datei kopiert/umbenannt
'; if (unlink ($verzeichnis.'\\'.$dateiname)) echo 'Datei im Ordner gelöscht
'; #rmdir($verzeichnis); if (file_exists($dateiname)) { $datei = fopen($dateiname,'r'); $stopflag = 1; while (!feof($datei) && $stopflag <1000) { $zeile = fgets($datei,9999); echo '* '.$zeile.'
'; $stopflag++; } fclose($datei); } else { echo 'Datei '.$dateiname.' existiert nicht.
'; }  ?>


Verwandte Artikel