:: Anbieterverzeichnis :: Globale Branchen
:: SELFPHP Forum ::
Fragen rund um die Themen PHP?
In über
130.000 Beiträgen finden Sie sicher die passende
Antwort! 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
|
Nützliche Dateioperationen: Seite 2  |
|
SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Zeile per Zufall – Spruchgenerator
Wie wäre es mit einem Spruchgenerator, der bei jedem Aufruf zufällig eine Zeile ausliest?
<?php
// Zufallsgenerator
function gen_zahl($max = 1) {
$faktor = 1000000;
return ((mt_rand(1,$faktor * $max)-1)/$faktor);
}
// Spruchgenerator
function gen_spruch($dateiname) {
$zeilen_nr = 0;
$datei = fopen($dateiname,'r');
while (! feof($datei)) {
if ($z = fgets($datei,1048576)) {
$zeilen_nr++;
if (gen_zahl($zeilen_nr) < 1) {
$spruch = $z;
}
}
}
fclose($datei);
return $spruch;
}
// Ausgabe
echo gen_spruch("daten.txt");
?>
Wie Sie feststellen werden, habe ich die Zufallszahlen-Funktion gen_zahl() von der Spruchgenerator-Funktion gen_spruch() getrennt, damit Sie die Zufallszahlen-Funktion auch für andere Zwecke nutzen können.
Sie können es natürlich auch einfacher haben, wenn Sie die Funktion file() und anschließend die Funktion shuffle() einsetzen.
Beispiel
<?php
// Spruchgenerator
function gen_spruch($dateiname) {
$daten = file($dateiname);
shuffle ($daten);
return $daten[0];
}
// Ausgabe
echo gen_spruch("daten.txt");
?>
Datei ohne eine temporäre Datei ändern
Stellen Sie sich vor, Sie wollen an einer Datei Änderungen vornehmen, dies jedoch ohne eine temporäre Datei zwischenzuspeichern. In diesem Fall öffnen Sie eine Datei mit dem Modus »r+« und korrigieren nach dem Schreiben der Änderungen die Länge der Datei mithilfe der Funktion ftruncate(). Diese ist in der Lage, eine Datei auf eine angegebene Länge zu kürzen.
Beispiel
<?php
// Datei zum Lesen und Schreiben öffnen
$datei = fopen('daten.txt','r+');
// Gesamte Datei einlesen
$daten = fread($datei,filesize('daten.txt'));
// Konvertiert *Wort* zu <b>Wort</b>
$daten = preg_replace('@\*(.*?)\*@i','<b></b>',$daten);
// Konvertiert /Wort/ zu <u>Wort</u>
$daten = preg_replace('@/(.*?)/@i','<u></u>',$daten);
// Dateizeiger an den Anfang zurücksetzen
rewind($datei);
// Neue Daten in die Datei schreiben
if (-1 == fwrite($datei,$daten)){
echo "Fehler!";
}
// Dateilänge auf die tatsächliche Datengröße anpassen
ftruncate($datei,ftell($datei));
// Datei schließen
fclose($datei);
?>
|
|
|
|
|


:: Anbieterverzeichnis ::
Webhosting/Serverlösungen
Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?
Sie sind nur ein paar Klicks davon entfernt! 
|