ja klar... so an sich ist das recht logisch... aber irgendwie viel zu umständlich.... braucht vor allem viel Runtime bei großen Dateien...
das readfile(); gibt das ganze einfach nur aus...
...bzw. es gibt noch so 'ne Zwischenlösung, die das "Zeilenweise" Auslesen weglässt...
[!--EDIT|APC GoC|July 26 2002,22:11--]
[font color='#409dd3']Wie auch immer wir das lösen, es wäre nett, wenn du schauen könntest, wie man das machen kann. :)[/font]
[font color='#409dd3']Hat sich ja dann erledigt!!!
:D[/font]
also da em goc seine seite gerade ma down is missbrauch ich mal das forum.... :)
<html>
<head>
<?php
if(phpversion() >= "4.2.1") {
//PHP 4.2.1 Patch
extract($HTTP_POST_VARS);
extract($HTTP_GET_VARS);
}
?>
</head>
<body>
<FORM ACTION="write.php" METHOD="POST">
<INPUT NAME="write">
<INPUT TYPE="submit" name="submit" value="submit">
<?php
$datei_w = fopen("xxx","a");
if (isset($write)) {
fwrite($datei_w, "$write");
}
$datei_r = fopen("xxx","r");
while (!feof($datei_r)) {
$zeile = fgets($datei_r,1000);
echo $zeile;
}
fclose($datei_r);
?>
</body>
</html>
Ich bin ja nicht so...und laß den Thread mal offen.. :)
[font color='#409dd3']Part 1 für dein Homeip!
<form action='http://www.apcnet.de/script.php?action=setgame' method='post'>
<select name='gametype'>
<option value='Counter Strike 1.5' SELECTED>Counter Strike 1.5</option>
<option value='SvenCoop'>Sven Coop</option>
<option value='Unreal Tournament'>Unreal Tournament</option>
...
</select><br>
<input type='submit' value='submit' name='submit'><input type='reset' value='reset' name='reset'>
</form>
[/font]
[!--EDIT|APC GoC|1051112022--]
[font color='#409dd3']Der meldet beim zweiten Skript 'nen Parse Error in Zeile 11, warum auch immer... :(
/e: Jetzt geht's! :)
Seltsamer Fehler war das... *iBhau*[/font]
hmmm......
du machst dir zu viel Arbeit...
probier's mal damit:
readfile("dateiname");
statt dem da:
$datei_r = fopen("xxx","r");
while (!feof($datei_r)) {
$zeile = fgets($datei_r,1000);
echo $zeile;
}
:D
[font color='#409dd3']Mal eine kleine Frage. Gestern habe ich mir in den Adminbereich von meinem homeip die Links eingebunden, die die Anzeige hier auf apcnet.de von "Server offline" auf "online" und umgekehrt setzt.
Jetzt wollen wir aber nicht immer CS zocken und dann wäre es doch sehr fein, wenn man dem Skript auch das gewünschte Mod übergeben könnte, damit alle gleich sehen, was gespielt wird.
Hier dein alter Code:
<?php
##############################
##### (c) Holger Segnitz #####
##### www.segnitz.net #####
##############################
if($status=='offline')
{
$out = "<b><font color='#FF0000'>offline</font></b>";
echo "server ist offline!<br>";
}
else
{
$out = "<b><font color='00FF00'>Online! -> ara.homeip.net:27015</font></b>";
echo "server ist online und hat die IP " . getenv("REMOTE_ADDR") ."<br>";
}
$filelocation = "serverstate.dat";
$newfile = fopen($filelocation,"w+");
fwrite($newfile, $out);
fclose($newfile);
echo "results written 2 file :) ";
?>
Noch edler wäre es natürlich, wenn das Skript auf dem homeip liegen, man per Dropdown das Mod auswählen könnte und anschließend die serverstate.dat auf apcnet.de geändert werden würde. Falls das so überhaupt geht. :)
Dein Quelltext ist leicht verändert, da ich die Anzeige der IP rausgenommen habe, damals hatte ich ja das homeip noch nicht...[/font]
[font color='#409dd3']Vielen Dank, ich werd's nacher gleich testen! :)[/font]
und ich dachte ich werde endlich mal gelobt.... :D
trotzdem danke für den tip... :D
[font color='#409dd3']hmmm........
also per DropDown, dann musst auch 'nen Script bei dir auf'm homeip laufen lassen... oder halt eigentlich net.......
ich guck mal ob ich das nachher halbwegs hinkriege....[/font]
[font color='#409dd3']Part 2:
Sollte so klappen.....
<?php
##############################
##### (c) Holger Segnitz #####
##### www.segnitz.net #####
##############################
if($status=='offline')
{
$out = "<b><font color='#FF0000'>offline</font></b>";
echo "server ist offline!<br>";
}
else
{
$out = "<b><font color='00FF00'>Online! -> ara.homeip.net:27015</font> </b>Game:<b> $gametype</b>";
echo "server ist online und hat die IP " . getenv("REMOTE_ADDR") ."<br>";
}
$filelocation = "serverstate.dat";
$newfile = fopen($filelocation,"w+");
fwrite($newfile, $out);
fclose($newfile);
echo "results written 2 file :) ";
?>
[/font]
[!--EDIT|APC GoC|1051112301--]
Hui, den Thread hat's ja etwas zerrupft... :huh:
Naja, aber er tut's noch!
Ich wollte mal fragen, ob ihr für PHP gute Seiten mit Tutorials für Einsteiger und Fortgeschrittene kennt, möglichst auch mit mySQL dabei.
du hast schonmal "irgendwas" programmiert?
Dann reicht dir http://www.php.net/manual/en (http://www.php.net/manual/en) bzw. /de
für mySQL ist es IMMER besser du frägst jemanden, der das kann... WEIL du bekommst NIE über eigene Doku 'ne "Anleitung", wie du mySQL in PHP am besten nutzt und wie das für den jeweiligen Fall am Besten anzuwenden ist. Da gibt's nämlich je nach "Fall" locker 4-5 total verschiedene Methoden. Die eine hat 'ne 'ne hohe CPU-Last, die andere hat dafür 'ne hohe Datenmenge, die ausgetauscht wird, 'ne dritte ist absolut kompliziert, aber effizient, eine vierte macht mal eben 200 Abfragen, wo man nur 3 bräuchte... usw...
Wenn du mal PHP soweit halbwegs kannst, kann ich dir da gerne mal 'ne kleine Einführung geben ;) - Aber wie gesagt das mit der Duku sieht verdammt blöd aus... - so ging's mir zumindest damals. Wie's heute aussieht weiss ich leider nicht, aber ich denke das hat sich nicht groß geändert.
in meinem Forum schööön viele Threads aufmachen!!!111einseinseins :D :D :D
Ok, dann werde ich mich da mal schrittweise durcharbeiten. :)
Danke schön.
Fehlende mySQL-Doku ist natürlich dreggisch! :huh:
Ja also Doku gibts schon, aber da findest du NICHTs... ich hab mal 'ne Auflistung der Daten-Typen gesucht... steht nicht drin... und auch sonst... da sind die Befehle mal eben SEHR grob beschrieben...
und wie gesagt... -> lieber zu früh fragen ;) ich hab hier SEHR viele Hohlstunden.....
Ok, wird ja ohnehin noch ebbes dauern, bis ich zur mySQL-Schnittstelle vorgestoßen bin. :)
Obwohl... Eigentlich brauche ich sie gleich am Anfang. ;)
öööhh.... dann viel spass :D schwer isset net, aber so ganz ohne Vorkenntnisse.......
Naja, so wie ich die Anleitung bis jetzt überblickt habe, ist PHP schaffbar.
Nach Pascal, Delphi und Java sogar richtig einfach. Cool ist, daß er sich um die Vergabe der Variablentypen selbst kümmert. Da spart man sich schon mal die ganzen fetten Header aus den Hochsprachen.
Diese Freiheit könnte bei großen Projekten evtl. aber auch etwas unübersichtlich werden. Mal schauen. :)
neee... wird sie normalerweise nicht ;)
Vor allem, wenn du zum Testen 'n paar Sachen "einrichtest" ;) dass er dich bei "use of uninitialized value" warnt usw...
und wenn du dich an gewisse Standards beim Einrücken hälst ist die Übersicht richtig einfach. Ausserdem: include() -> z.B. funktionen, die du öfters mal brauchst in eine Datei auslagern... das Design von der ganzen Sache in 'ne andere Datei...
und 3. ein gescheiter Editor macht da auch noch einiges wett...
Ich hab z.B. SciTE (Scintilla Enabled Texteditor) Da kannst z.B. Funktionsdefinitionen bis auf deren Headerzeilen ausblenden... oder lange IF-Blöcke... (orientiert sich immer an den { } - Klammern)
Und ich hab mir den noch so eingestellt, dass ich bei F5 das Ding Syntax-Checken kann (Lint) wenn ein Fehler drin ist, drücke ich nur F4 und er springt in die Zeile, wo der ist ;)
Dann STRG+1 ist nochmal das gleiche und STRG+2 ist ausführen und auf Errors und Warnings achten (also siehe oben ;) ) und dann STRG+3 ist "echtes" ausführen... das schöne dran ist, dass das in einem extra "Teil" von dem Editor dann läuft ;) und der Editor selbst ist verdammt schlicht und sofort geladen ;)
http://www.scintilla.org/SciTE.html (http://www.scintilla.org/SciTE.html)
wenn du wills, kann ich dir meine Config schicken von dem Teil... geht ALLES über Text-Files :D
Typ-Umwandlung ist aber so 'ne Sache ;)
strtoint() wie in Pascal gibt's nicht :D
Deswegen gleich mal im Vorraus:
Strings verbindest du so:
"string 1" . "string 2" (nicht mit + !!!!!! das geht zwar auch, aber kostet 'ne Menge Rechenzeit. Ausserdem: "5" + "3" ist "8" auch wenn das Strings sind eigentlich)
Der Unterschied zwischen " und ' wird glaube ich auch nicht erklärt in der Doku oder?
also Typ-Umwandlung nochmal: $a = "533" ; ist ein String... wenn du ihn aber explizit als Integer brauchst, schreibst das dann beim Verwenden so: (int)$a oder andersrum, eine Zahl $b = 5333 ; -> (string)$b
Was du wahrscheinlich auch brauchen wirst, ist HEX -> Bin, Bin -> HEX, oder das ganze mit Dezimal, oder Oktal :D
einfach mal die Funktion "base_encode()" anschauen ;) (ich hoff dass die so hiess ;) )
Den schaue ich mir mal an! :)
Den "kleinen" Edit bemerkt? :D wollte keinen Doppelpost machen :D
Ja, habe ich gesehen! :)
*hust*
Ich würde dann mal gerne die Config haben... ;)
Allerdings habe ich bereits eine Distri geladen und nicht das Proggi selbst. Haut das jetzt alles auseinander?
Die Blockausblendfkt. ist genial! Sowas braucht eigentlich JEDE Entwicklungsumgebung. Wirklich perfekt um sich genau auf den Code zu konzentrieren, den man braucht. :)
Meinst du meinen Config von SciTE?
kann ich dir geben, nur ist da soooo viel von "Geschmackssache", dass du auch da wieder selbst rumfummeln musst :D
Hmmm, also doch lieber selber basteln? :)
Naja, jedenfalls arbeite ich mich mal etwas in PHP und mySQL ein. ;)
die hilfe dazu online ist eigentlich ganz gut.... kann dir meine trotzdem schicken...
Guuuhd, dann geht's jetzt an's Eingemachte... :D