| Alles für die Homepage... Scripte, Templates, Workshops und Support | |||
|
|||
|
Startseite |
Forum |
Webtemplates |
PHP Scripte
|
|||||||||
|
|
Startseite Artikel / Artikel lesen
Daten einen selbstdefinierten Index zuweisenOft kann es nützlich sein Daten beim speichern einen eigens dafür optimierten Sortierindex zuzuweisen. Einsatzzwecke können sein: Zusammenfassung von Wortlisten (z.B. die Worte die mit A,a,Ä,ä beginnen unter Buchstabe A abzulegen, oder das verschieben von Dateien mit bestimmten Endungen in festgelegte Zielverzeichnisse.2. Beispiel, zuordnen von Verzeichnissen nach DateiendungBei Dateiuploads möchte man vielleicht gern das die Dateien, je nach Endung, in seperate Verzeichnisse verschoben werden. Auch hier kann man wieder ein Indexarray anlegen was im Key die Endungen speichert, im Value des assoziativen Arrays die Verzeichnisnamen.1. Das komplette Script CODE: <?php
$eingabe = array('rechnung.txt', 'bild.gif', 'tabelle.xls', 'music.wav', 'datei.swf', 'programm.tar.gz');
foreach ($eingabe as $values) {
echo "Wert <b>$values</b> wird in Verzeichnis <b>" . indexer($values) . "</b> gespeichert<br>\n";
}
function indexer($wert) {
$indexarray = array(
'gif,jpg,png' => 'bilder',
'txt,dat' => 'texte',
'zip,rar,tar,tar.gz' => 'zip',
'wav,mid,avi' => 'wav',
'swf' => 'flash',
'doc,xls,odt' => 'dokumente'
);
$name_endung = explode('.', $wert);
if (preg_match("/(.*)\.tar\.gz$/i", $wert)) {
$endung = 'tar.gz';
} else {
$endung = array_pop($name_endung);
}
$gefunden = 0;
while(list($key, $val) = each ($indexarray)){
$keydata = explode(',', $key);
if(in_array($endung, $keydata)) {
$datei_index = $val;
$gefunden = 1;
break;
}
}
$datei_index = $gefunden == 1 ? $datei_index : 'allgemein';
return $datei_index;
}
?>HINWEIS Normalerweise testet man bei der Dateiendung auf das was nach dem letzten . Punkt steht. Es gibt aber auch Dateien, wie z.B. das hier dargestellte tar.gz als Dateiendung. Hier ermittelt man zunächst mittels preg_match ob es sich um eine solche Datei handelt, wenn ja wird als Value für $endung tar.gz zugewiesen. Das braucht natürlich nur getestet werden wenn für Uploads auch ein solcher Dateityp erlaubt wurde. Dieses Script eignet sich z.B. auch dazu wenn man Dateien per FTP auf den Server in ein Verzeichnis lädt und die Dateien dann per Browserbasiertem Formular noch mit Texten versehen will, beim speichern wird dann die Endung getestet und die Datei an den Zielort verschoben. Genausogut kann man damit Dateien für Mitglieder bereitstellen, hat man z.B. Rechnungen eines bestimmten Datums oder Namensformates, Daten hochladen, Script aufrufen und Daten in Mitgliederverzeichnisse verschieben lassen. Die Daten des Indexarrays können natürlich auch als externe Datendatei abgelegt werden, auch ist eine Datenbankbasierte Speicherung ist möglich. 2. Die Scriptausgabe Wert rechnung.txt wird in Verzeichnis texte gespeichert Wert bild.gif wird in Verzeichnis bilder gespeichert Wert tabelle.xls wird in Verzeichnis dokumente gespeichert Wert music.wav wird in Verzeichnis wav gespeichert Wert datei.swf wird in Verzeichnis flash gespeichert Wert programm.Tar.Gz wird in Verzeichnis zip gespeichert Drucken | Artikel wurde 2810 mal aufgerufen
| ||||||||
| Impressum - Kontakt - Datenschutzerklärung | |||||||||