#1 1. Oktober 2005 Hi, habe mal wieder ein Problem mit php! Ich hab n kleines script gebastelt, womit man "dateien online stellen" kann.. Also es wird eine input.html geschrieben, die dann in die eigentlich datei includet wird... folgende dateien sind vorhanden in der "uploaddatei" ist folgender code: PHP: <b>Administration - Remixes hinzufügen:</b><br><br><br> <form action="<? $PHP_SELF ?>" method="POST">Dein Name: <input class="Button" type="Text" name="uploader"><br>Url zum Remix: <input class="Button" type="Text" name="url"><br>Linkname: <input class="Button" type="Text" name="linkname"><br>Passwort: <input class="Button" type="Password" name="pw"><br><br><input class="upload" type="Submit" name="hinzu" value="Hinzufügen"></form> <? $adminpw = "test" ; $leer = "" ; $datei = fopen ( "input_remix.html" , "w" ); $ausgabe1 = "<a href=\"" ; $ausgabe2 = " $url " ; $ausgabe3 = "\" target=\"_new\">" ; $ausgabe4 = " $linkname " ; $ausgabe5 = "</a> <font size=\"1\"> » by " ; $ausgabe6 = " $uploader " ; $ausgabe7 = "</font><br>\n" ; if( $pw == $adminpw AND $url != $leer AND $linkname != $leer AND $uploader != $leer ){ fwrite ( $datei , $ausgabe1 ); fwrite ( $datei , $ausgabe2 ); fwrite ( $datei , $ausgabe3 ); fwrite ( $datei , $ausgabe4 ); fwrite ( $datei , $ausgabe5 ); fwrite ( $datei , $ausgabe6 ); fwrite ( $datei , $ausgabe7 ); } else{ echo "Bitte alle Felder ausfüllen!" ; } fclose ( $datei ); ?> die inputdatei sieht dann z.b so aus: PHP: < a href = "link.rar" target = "_new" > Testtest ;)</ a > < font size = "1" > & raquo ; by XXX </ font >< br > die input wird dann in die hauptdatei includet^^ (z.b downloads.php) <<===================>> Jetzt mein Problem: Wenn ich so Remixe hinzufüge, wird die letzte ausgabe überschrieben! wenn cih den mode a+ nehme, dann wird die nächste ausgabe nach unten versetzt, das will ich aber auch nicht, ich will, dass die neuste ausgabe immer ganz oben steht und die letzte eins nach unten verschoben wird! wie mach ich das? ich hoffe ihr habt das verstanden! Bin für jede Hilfe sehr dankbar!!! cya
#2 1. Oktober 2005 An deiner stelle würde ich die datei mit file() auslesen Dann würde ich das ganze mit implode() zusammensetzen und deine ausgabe an den String vorne einfügen also: PHP: <? php $dateiinhalt = file ( "input_remix.html" ); implode ( $dateiinhalt , "\n" ); $ausgabe = "<a href=\"" ; $ausgabe .= " $url " ; $ausgabe .= "\" target=\"_new\">" ; $ausgabe .= " $linkname " ; $ausgabe .= "</a> <font size=\"1\"> » by " ; $ausgabe .= " $uploader " ; $ausgabe .= "</font><br>\n" ; $dateiinhalt = $ausgabe . $datei ; if( $pw == $adminpw AND $url != $leer AND $linkname != $leer AND $uploader != $leer ){ $datei = fopen ( "input_remix.html" , "w" ); fwrite ( $datei , $dateiinhalt ); } else{ echo "Bitte alle Felder ausfüllen!" ; } ?> Sollte so gehn Btw: du musst nicht 1000 Variablen erstellen für die ausgabe
#3 1. Oktober 2005 hm bist du dir sicher das du php kannst ? ^^ <?php <a href="link.rar" target="_new">Testtest </a> <font size="1"> » by XXX</font><br> ?> ist mal total falsch wenn dann muss das <? echo "<a href="link.rar" target="_new">Testtest </a> <font size="1"> » by XXX</font><br>"; ?> so aussehen aber wieso schreibst du den href in php ???
#4 1. Oktober 2005 ne das war n schr´reibfehler, erklärt sich ja auch dadurch, dass die datei input_remix.HTML heißt! ^^ und hmm ja man kann sich streiten ob ich php richtig kann^^ B2T: Ne geht leider nicht dein Lösungsvorschlag es überschreibt wieder!!
#6 1. Oktober 2005 dann gehn die nächsten einträge wieder nach unten der neuste soll aber oben stehn !!
#7 1. Oktober 2005 gugg dir meinen post an erst datei auslesen und dann inkl des neuen eintrages neu reinschreiben mal ne ganz andere frage: warum machse das nicht mit einer DB wäre doch 10ma einfacher...
#8 1. Oktober 2005 1. kann ich das nicht 2. kannst du mir das sohincoden, dasses zuerst die datei ausliest und dann inkl des neuen eintragt neuschreibt? ich blick nämlich garnixmehr ^^ wäre hammer!!
#9 1. Oktober 2005 macht er eigentlich also mal ne ganz einfache beschrewibung des codes oben: PHP: <? php $dateiinhalt = file ( "input_remix.html" ); //Datei auslesen implode ( $dateiinhalt , "\n" ); //DEn Array den file() erstellt in einen string umwandeln (liste->zeichenkette) $ausgabe = "<a href=\"" ; $ausgabe .= " $url " ; $ausgabe .= "\" target=\"_new\">" ; $ausgabe .= " $linkname " ; $ausgabe .= "</a> <font size=\"1\"> » by " ; $ausgabe .= " $uploader " ; $ausgabe .= "</font><br>\n" ; //Ausgabe zusammenfügen ginge auch alles in einer Zeile hatte aber kein bock alle ' und " richtig zu setzen geht zur not auch so $dateiinhalt = $ausgabe . $datei ; //Ausgabe an den anfang des vorherigen Dateiinhalts packen if( $pw == $adminpw AND $url != $leer AND $linkname != $leer AND $uploader != $leer ){ //PW abfrage © you $datei = fopen ( "input_remix.html" , "w" ); //Datei öffnen fwrite ( $datei , $dateiinhalt ); //neuen inhalt einfügen fclose ( $datei ); } else{ echo "Bitte alle Felder ausfüllen!" ; } ?> denke das sollte verständlich sein wenn net frag einfach
#10 1. Oktober 2005 okay danke, ging net ganz, aber ein anderer aus meienr icq liste hat mir geholfen, aber kriegste trotzdem ne 10 für deine bemühungen cu an close