Dann eben Settings, es kann ja sein, dass es mehrer config.ini s (anstadt config.phps) gibt. Ein Interface für die Daten wäre zwar schön - allerdings, was wenn der Ausenstehende nicht bei jedem, der das verwendet, das interface konfigurieren kann.
Wer die Klase verwenden will, soll, wer nicht, nicht.
@Unregistriert: Ich muss mich hier in KEINER Weise rechtfertigen. Buntz es oder lass es sein.
Beiträge von Tobse
-
-
Die .htaccess ist es sicherlich nicht. Hast du root zugriff? Wenn nicht, schreib den Support an. Denn wenn der Server online ist (du also per FTP zugreifen kannst), der aber übers web nicht erreichbar ist, ist bei dem Betriebssystem auf dem Server was falsch gelaufen.
-
Wenn du z.B. in einem CMS einstellungsmöglichkeiten für erweiterungen bieten möchtest, dann ist ein ini file sicherer. Denn wenn du das in einer PHP-Datei ablegst, kann da ja sonst noch was für code drin sein. Ich habe das z.B. auch dazu verwendet, informationen zum Aussehen und inhalt von Fehlerseiten zu definieren (HTTP Status code, div. Farben und 2 Texte).
Zum Beitrag von Unregistriert:
Ja, ich weiss, dass es diese Funktion gibt. Allerdings war mir die 2te Sache mit den Sections wichtig, also das Array ohne keys. Auch finde ich es übersichtlicher, die Sections o aufzuteilen anstadt mit den punkten im namen. -
Ich habe, aufgrund von anderem Verwendungszweck, einen relativ simplen Parser für INI-Dateien geschrieben. Der Syntax ist nicht ganz der, den man vielleicht kennt, aber ähnlich und beitet etwas mehr freiheiten.
Key-Value paare werden mithilfe des = deklariert, jede anweisung trennt eine Zeile.
Wird ein key doppelt definiert, wird der alte überschrieben.
Zeieln können belibig eingerückt werden, leere Zeilen und die, die mit einem # beginnen, werden ignoriert. Ein # würde hier also ein KOmmentar bezeichnen.
Bei den Sections liegt der größte unterschied. Denn, auch aus gründen des Codeverständinnes und der Vermeidung unnötiger kompliziertheit, muss deren Ende gekennzeichnet werden.
Eine Section nicht zu beenden, endet in einer Exception.
Sections können beliebig oft in einander verschalchtelt werden, es macht hier auch keinen unterschied, ob vor oder nach einer inneren section Key-Value paare stehen.Code
Alles anzeigenkey=value [section1] key=value [section1.1] key=value [END] key2=value [section1.2] key=value [END] [END]
Achtung: Die vielen key=value im oberen Beispiel überschreiben sich nicht.
EDIT: Sorry, das hab ich vergessen:
Achtung: Sections die doppelt definiert sind, werden ebenfalls überschrieben.Nun zu den freiheiten, von denen ich gesprochen habe: Ein = in einer anweisung ist nicht zwingen nötig. Somit kann man quasi listen definieren:
Soviel zum Syntax.
Die Verwendung in PHP:
Vom perser kommt ein Array zurück, das die Key-Value paare enthält. Sections sind ein Array mit gleichen beedingungen, wie das ausgangs-Array.
PHP// je nachdem, wie man die Klasse an/ablegt include("INIParser.class.php"); $file="userdata.ini"; $user=INIParser::parseFile($file); echo "Benutzername: ".$user['name']; echo "Spricht folgende Sprachen: ".implode(",", $user['sprachen']);
um als Beispiel hier noch das Array, dass INI::parseFile zurück gibt aufzuzeigen:
Zusätzlich zu INIParser::parseFile gibt es ncoh INIParser::parse. Diese Methode nimmt ein Array (oder einen String, den sie mithilfe von explode bei \n´s nach zeilen zeilt).
Achtung: INIParser::parse und INIParser::parseFile sind statisch und INIParser abstrakt.Hier der Quellcode:
PHP
Alles anzeigenabstract class INIParser { public static function parse($c) { if (gettype($c)!="array") { if (gettype($c)=="string") { $c=explode("\n", $c); } else return false; } $ar=array(); $j=count($c); $line_nr=0; while ($line_nr<$j) { $line=trim($c[$line_nr]); if (substr($line, 0, 1)=="#") { $line_nr++; continue; } if (empty($line)) { $line_nr++; continue; } if (substr($line, 0, 1)=="[' && substr($line, strlen($line)-1)==']") { $name=substr($line, 1, strlen($line)-2); $dept=0; $end=false; $n=$line_nr; while ($n<$j) { $line2=trim($c[$n]); if ($line2=="[END]") { $dept--; if ($dept==0) { $end=true; break; } } else if (substr($line2, 0, 1)=="[' && substr($line2, strlen($line2)-1)==']") { $dept++; } $n++; } if ($end===false) { throw new Exception("Unexpected end of section ['.$name.'] on line ".$j." in [parent]"); } $sec=array_slice($c, $line_nr+1, $n-$line_nr-1); $ar[$name]=INIParser::parse($sec); $line_nr=$n; } else { $pos=strpos($line, "="); if ($pos==false) { $ar[]=trim($line); } else { @$ar[trim(substr($line, 0, $pos))]=trim(substr($line, $pos+1)); } } $line_nr++; } return $ar; } public static function parseFile($file) { return self::parse(file($file)); } }
Feedback herzlich willkommen, aber bitte Konstruktives.
-
Wie meinst du das? Läuft Confixx auch über diese domain (also ls-mod-gigant.de)? Wenn ja, ist es die .htaccess, wenn nein stimmt irgendwas mit dem Server nicht. Zeig mal die .htaccess, bitte.
-
Sieht nicht gut aus, oder eher danach als ob der webserver (apache o.ä) abgestürzt ist. Schon den support angeschrieben?
Wenn das ein Root-Server ist, kannst du folgendes machen:
Logg dich mit PuTTY darauf ein und gib folgendes ein:
Dann ENTER drücken unds nochmal versuchen. -
Stichpunkt Regex. Wenn du ein eingabefeld hast, dass Zeit heisst, probier das mal so:
Codevar input=document.forms.wie.auch.immer.du.an.das.element.kommst.value;[FONT=monospace] var zeit_regex=/^\d{1,2}\:\d{1,2}$/; // Hiermit lässt sich z.B. 14:23, nicht aber 14:f oder 1a:15 eingeben. // auch funktioniert 123:10 oder 15:189 nicht. if (eit_regex.test(input)) { // ja, es ist eine Zeit } else { // nein, keine Zeit } [/FONT]
-
-
Vielen dank, werd mich mal reinlesen.
-
Naja, wenn das <img> Tag erkannt wird, dann kann das Mailprogramm ja HTML. Es könnte evtl. klappen, VOR das <html> etwas zu schreiben, was von jedem Programm ohne HTML angezeigt wird und wenn das Programm HTML kann, setzt sich der <body< einfach per css drüber... mal ausprobieren.
Trotzdem danke für deine Überlegungen, Cujo. -
Hi,
gibt es in HTML-Emails eine möglichkeit, normalen text anzeigen wenn das Programm HTML nicht anzeigt? Ein <nohtml> Tag wäre hier eher unangebracht (wennd as programm den erkennt, kann es auch gleich HTMl machen ;)) aber sowas änliches. Gibts da was?Gruß, Tobse
-
Stimmt, ich hatte das mal gelesen (sogar ziemlich ischer in der PHP-Doku), kann ja sein, dass sies behoben haben. Und daher bitte ich einen Mod oder einen Admin ALLE DREI posts zu löschen!
@Unregistriert: Arm, einfach arm. Versuch doch mal konstruktiv zu sein, oder wiederspircht das deinem Wesen? -
require wird immer ausgeführt, egal ob das in einer if-abfrage steht oder nicht. Nimm include.
-
Neu aufsetztenis auch blöd, allerdings hast du die wahl:
1. Neu aufsetzen, dann aufpassen und das teil vermeiden
2. Nicht nu aufsetzen und große Gefahrlaufen, den nochmal zu bekommen oder gar Dateien zu verlieren. -
Schau einfach mal, ob eine von deinen dateien von den warnungen betroffen sind. Wenn ja, versuch die wegzubekommen (zu 100%!) und dann setz das teil sofort neu auf. Um Viren, die nicht deine Dateien betreffen, kümmer dich nicht, einfach formatieren und neu aufsetzen.
-
Ich weiss nicht, wie das bei euch geregelt ist, aber bei der VVS gibts Zonen und an jeder Bushaltestelle ist ne Karte mit den Umliegenden 3-4 Zonen, in denen auch alle Haltestellen eingezeichnet sind. Dann Schaust du dort, wo du hinfahren willst und sagst dem Busfahrer "X Zonen".
Zu synaptic & Unregistriert: Ja, die meissten wissen, in welcher Zone die Haltestellen liegen und in welcher sie sich gerade befinden und lassen dir das Ticket raus. Der Vorteil ist: Wenn die nen Fehler machen und du zu wenig bezahlst, bist nicht du SchuldWenn du aber zu viel bezahlst...
-
Gibt es evtl eine Möglichkeit, Windows anzuweisen, herunterzufahren, ohne direkt alles schliesen zu müssen? Das könnte klappen:
(Windows 7)
1. Windows Taste drücken
2. 2mal den pfeil nach rechts drücken
3. Enter drückenDann sollte Windows herunterfahren wollen und die frage mit dem Popup erscheinen.
-
Was egnau hast du mit "resetten" gemeint? Den AUS-Knopf am Computer?
-
Keine Fehlermeldung? Grundlagen lernen!
1. Variablen in '´s werden nicht geparst
Ausabe: <a>1. $foo</a> und nicht <a>1. bla</a>
2. Du Startest einen String mit " und setzt dann ein zweites " vor LandPHP, da kann was nicht stimmen.
Und kopier das nicht nur, sondern schau dir an, wo der unterschied zwischen meinem & deinem Code liegt. -
Ja, wie synaptic schon sagte:
Sicher bin ich mir nicht, aber ich galube, dass man mit void(0); die schliessung des fensters/tabs verhindern kann.Zu diesem "Exit-Lighbox-Tool":
Ich als potenzieller Benutzer würde mir an den Kopf langen, wenn mir eine Webseite das anzeigt. Wenn ich nichts kaufen will, will ich nicht. Hier gilt es, an einem anderen Punkt anzusetzten: Der Benutzer sollte Seite garnicht erst verlassen wollen.
BTW: Der Typ, der in diesen Videos zu sehen ist, betreibt da ziemlich tückische manipulation. Evtl fällt es nicht auf, aber im Hintergrund läuft die ganze Zeit Musik, wie sie auch in Casinos zu hören ist. Auch fokusiert die Kamera ganz gezielt (bei wichtigen Stichworten) das Gesicht, dass heisst, bei wichtigen Stichworten/verschönenden Adjektieven wird die Aufmerksamkeit direkt auf diesen Typ gelenkt.
Ich stell mir dieses Tool bei weitem nicht so toll vor, wie die es da darstellen - und 37 Euro im Monat? Abzocke pur, wenn dann evtl. 100€ einmalig (wobei das schon fast an der Schmerzgrenze ist).