Avatar billede futurama Nybegynder
15. september 2004 - 18:06 Der er 8 kommentarer og
1 løsning

læs og skriv til tekst fil

skal bruge så jeg kan læse og skrive til en tekst fil. skal selv indlæse en bestemt fil og hvor man kan rette det det så den gemmer det (vil gerne ha der kommer en advarsel popup hvis man skriver mere en 3 tal (og man må kun skrive fra 0-9)

skal se ud som:

navn1
<input type="text" name=n1>
<br>
navn2
<input type="text" name=n2>
<br>

<input type=submit value=opdater>
Avatar billede htm Nybegynder
15. september 2004 - 18:51 #1
Har ikke rigtigt nogen ide om hvad du vil udover at du vil skrive og læse fra en tekstfil.

Du skal bruge:
Åbne fil: http://www.php.net/manual/en/function.fopen.php
hent linie i fil: http://www.php.net/manual/en/function.fgets.php
Hent char i fil : http://www.php.net/manual/en/function.fgetc.php
Skriv streng til fil: http://www.php.net/manual/en/function.fwrite.php
Luk fil: http://www.php.net/manual/en/function.fclose.php

Der er selvfølgelig mange andre funktioner du kan bruge - prøv og kig på det. Prøv også at forklar lidt nærmere hvad du vil...
Avatar billede sostack Nybegynder
16. september 2004 - 08:38 #2
Prøv med:
<?php
function laes_txtfil($mappe, $filnavn)
{
    $mappe = ("" == $mappe)? "./" : $mappe;
    $fh = fopen($mappe . $filnavn, "a+");
    $tal = fread($fh, "3");
    fclose($fh);
    if($tal == "") //første gang en fil læses;
    {
        $tal = 0;
    }
    $streng = "<form action='". $_SERVER["PHP_SELF"] . "' method='POST'>\n";
    $streng .= "<input type='text' name='n1' value='" . substr($filnavn, 0, -4) . "' DISABLED><br />\n";
    $streng .= "<input type='hidden' name='filnavn' value='$filnavn'>\n";
    $streng .= "<input type='hidden' name='mappe' value='$mappe'>\n";
    $streng .= "<input type='text' name='n2' value='$tal' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opdater'><br />\n";
    $streng .= "</form>";
    return $streng;
}
function skriv_txtfil($mappe, $filnavn, $streng)
{
    $mappe = ("" == $mappe)? "." : $mappe;
    $fh = fopen($mappe . $filnavn, "w+");
    fwrite($fh, $streng);
    fclose($fh);
}
if("Opdater" == $_REQUEST["knap"])
{
    echo skriv_txtfil($_REQUEST["mappe"], $_REQUEST["filnavn"], $_REQUEST["n2"]);
    echo laes_txtfil("./test/", "kurt.txt");   
} else {
    echo laes_txtfil("./test/", "kurt.txt");
}
?>

//sostack
Avatar billede futurama Nybegynder
16. september 2004 - 11:53 #3
nice indtil vidre men vil give dig 140point mere i et andet spm der ref. til dette hvis du vil hjælpe vidre :)

har lavet lidt om på det

<?php
//navne
$n1 = "navn1";
$n2 = "navn2";
$n3 = "navn3";
$n4 = "navn4";
$n5 = "navn5";
$n6 = "navn6";
$n7 = "navn7";
$n8 = "navn8";
$n9 = "navn9";
//setup
$dir = members;
//script
function laes_txtfil($mappe, $filnavn)
{
    $mappe = ("" == $mappe)? "./" : $mappe;
    $fh = fopen($mappe . $filnavn, "a+");
    $tal = fread($fh, "3");
    fclose($fh);
    if($tal == "") //første gang en fil læses;
    {
        $tal = 0;
    }
    $streng = "<form action='". $_SERVER["PHP_SELF"] . "' method='POST'>\n";
    $streng .= "<input type='text' name='n1' value='" . substr($filnavn, 0, -4) . "' DISABLED><br />\n";
    $streng .= "<input type='hidden' name='filnavn' value='$filnavn'>\n";
    $streng .= "<input type='hidden' name='mappe' value='$mappe'>\n";
    $streng .= "<input type='text' name='n2' value='$tal' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opdater'><br />\n";
    $streng .= "</form>";
    return $streng;
}
function skriv_txtfil($mappe, $filnavn, $streng)
{
    $mappe = ("" == $mappe)? "." : $mappe;
    $fh = fopen($mappe . $filnavn, "w+");
    fwrite($fh, $streng);
    fclose($fh);
}
if("Opdater" == $_REQUEST["knap"])
{
    echo skriv_txtfil($_REQUEST["mappe"], $_REQUEST["filnavn"], $_REQUEST["n2"]);
    echo laes_txtfil("./$dir/", "$n2.txt");   
} else {
    echo laes_txtfil("./$dir/", "$n2.txt");
}
?>

vil gerne ha lavet det et udsene som jeg skrev med den skriver navnet og efter kommer der den tekst box med verdien alså "navn: [tekstbox]"

hvordan skal jeg tilføje flere (som der bliver brug for) som

navn: [tekstbox]
navn: [tekstbox]
navn: [tekstbox]
navn: [tekstbox]
  (Send)
Avatar billede sostack Nybegynder
16. september 2004 - 14:00 #4
Prøv med:
<?php
$dir = "test";
//script
function laes_txtfil($mappe, $filnavn)
{
    $mappe = ("" == $mappe)? "./" : $mappe;
    $fh = fopen($mappe . $filnavn, "a+");
    $tal = fread($fh, "3");
    fclose($fh);
    if($tal == "") //første gang en fil læses;
    {
        $tal = 0;
    }
    $streng = "<form action='". $_SERVER["PHP_SELF"] . "' method='POST'>\n";
    $streng .= "Navn: <input type='text' name='find' value=''><br />\n";
    $streng .= "<input type='submit' name='knap' value='Find'><br />\n";
    $streng .= "Navn: <input type='text' name='n1' value='" . substr($filnavn, 0, -4) . "' DISABLED><br />\n";
    $streng .= "<input type='hidden' name='filnavn' value='$filnavn'>\n";
    $streng .= "<input type='hidden' name='mappe' value='$mappe'>\n";
    $streng .= "Points: <input type='text' name='n2' value='$tal' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opdater'><br />\n";
    $streng .= "Nyt navn: <input type='text' name='n3' value='' ><br />\n";
    $streng .= "Points: <input type='text' name='n4' value='0' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opret ny'><br />\n";
    $streng .= "</form>";
    return $streng;
}
function skriv_txtfil($mappe, $filnavn, $streng)
{
    $mappe = ("" == $mappe)? "." : $mappe;
    $fh = fopen($mappe . $filnavn, "w+");
    fwrite($fh, $streng);
    fclose($fh);
}
SWITCH($_REQUEST["knap"])
{
    CASE "Opdater":
        echo skriv_txtfil($_REQUEST["mappe"], $_REQUEST["filnavn"], $_REQUEST["n2"]);
        echo laes_txtfil("./$dir/", $_REQUEST["filnavn"]);   
    BREAK;
    CASE "Opret ny":
        $filnavn = $_REQUEST["n3"] . ".txt";
        echo skriv_txtfil($_REQUEST["mappe"], $filnavn, $_REQUEST["n4"]);
            echo laes_txtfil("./$dir/", $filnavn);
    BREAK;
    CASE "Find":
            echo laes_txtfil("./$dir/", $_REQUEST["find"] . ".txt");
        BREAK;
}
?>

//sostack
Avatar billede sostack Nybegynder
16. september 2004 - 14:13 #5
Eller sjovere endnu:
<?php
$dir = "test";
//script
function laes_txtfil($mappe, $filnavn)
{
    $mappe = ("" == $mappe)? "./" : $mappe;
    $fh = fopen($mappe . $filnavn, "a+");
    $tal = fread($fh, "3");
    fclose($fh);
    if($tal == "") //første gang en fil læses;
    {
        $tal = 0;
    }
    $streng = "<form action='". $_SERVER["PHP_SELF"] . "' method='POST'>\n";
    $streng .= "Navn: <SELECT name='find'><br />\n";
    $dh = opendir("./test/");
    WHILE($file = readdir($dh))
    {
        if(!is_dir($file))
        {
            $streng .= "<OPTION value='" . substr($file, 0, -4) . "'>" . substr($file, 0, -4) . "</OPTION>\n";
        }
    }
    $streng .= "</SELECT>";
    $streng .= "<input type='submit' name='knap' value='Find'><br />\n";
    $streng .= "Navn: <input type='text' name='n1' value='" . substr($filnavn, 0, -4) . "' DISABLED><br />\n";
    $streng .= "<input type='hidden' name='filnavn' value='$filnavn'>\n";
    $streng .= "<input type='hidden' name='mappe' value='$mappe'>\n";
    $streng .= "Points: <input type='text' name='n2' value='$tal' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opdater'><br />\n";
    $streng .= "Nyt navn: <input type='text' name='n3' value='' ><br />\n";
    $streng .= "Points: <input type='text' name='n4' value='0' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opret ny'><br />\n";
    $streng .= "</form>";
    return $streng;
}
function skriv_txtfil($mappe, $filnavn, $streng)
{
    $mappe = ("" == $mappe)? "." : $mappe;
    $fh = fopen($mappe . $filnavn, "w+");
    fwrite($fh, $streng);
    fclose($fh);
}
SWITCH($_REQUEST["knap"])
{
    CASE "Opdater":
        echo skriv_txtfil($_REQUEST["mappe"], $_REQUEST["filnavn"], $_REQUEST["n2"]);
        echo laes_txtfil("./$dir/", $_REQUEST["filnavn"]);   
    BREAK;
    CASE "Opret ny":
        $filnavn = $_REQUEST["n3"] . ".txt";
        echo skriv_txtfil($_REQUEST["mappe"], $filnavn, $_REQUEST["n4"]);
            echo laes_txtfil("./$dir/", $filnavn);
    BREAK;
    CASE "Find":
            echo laes_txtfil("./$dir/", $_REQUEST["find"] . ".txt");
        BREAK;
}
?>

//sostack
Avatar billede futurama Nybegynder
16. september 2004 - 14:21 #6
ser bare en hvid side
Avatar billede sostack Nybegynder
16. september 2004 - 14:29 #7
Oki, min fejl!
<?php
if(isset($_REQUEST["knap"]))
{
    $knappen = $_REQUEST["knap"];
} else {
    $knappen = "test";
}
$dir = "./members/";
//script
function laes_txtfil($mappe, $filnavn)
{
    $dir = "./members/";
    $mappe = ("" == $mappe)? "./" : $mappe;
    if("" != $filnavn)
    {
        $fh = fopen($mappe . $filnavn, "a+");
        $tal = fread($fh, "3");
        fclose($fh);
    }
    if($tal == "") //første gang en fil læses;
    {
        $tal = 0;
    }
    $streng = "<form action='". $_SERVER["PHP_SELF"] . "' method='POST'>\n";
    $streng .= "Navn: <SELECT name='find'><br />\n";
    $dh = opendir($dir);
    WHILE($file = readdir($dh))
    {
        if(!is_dir($file))
        {
            if($file == $filnavn)
            {
                $streng .= "<OPTION value='" . substr($file, 0, -4) . "' SELECTED>" . substr($file, 0, -4) . "</OPTION>\n";
            } else {
                $streng .= "<OPTION value='" . substr($file, 0, -4) . "'>" . substr($file, 0, -4) . "</OPTION>\n";
            }
        }
    }
    $streng .= "</SELECT>";
    $streng .= "<input type='submit' name='knap' value='Find'><br />\n";
    $streng .= "Navn: <input type='text' name='n1' value='" . substr($filnavn, 0, -4) . "' DISABLED><br />\n";
    $streng .= "<input type='hidden' name='filnavn' value='$filnavn'>\n";
    $streng .= "<input type='hidden' name='mappe' value='$mappe'>\n";
    $streng .= "Points: <input type='text' name='n2' value='$tal' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opdater'><br />\n";
    $streng .= "Nyt navn: <input type='text' name='n3' value='' ><br />\n";
    $streng .= "Points: <input type='text' name='n4' value='0' maxlength='3'><br />\n";
    $streng .= "<input type='submit' name='knap' value='Opret ny'><br />\n";
    $streng .= "</form>";
    return $streng;
}
function skriv_txtfil($mappe, $filnavn, $streng)
{
    $mappe = ("" == $mappe)? "." : $mappe;
    $fh = fopen($mappe . $filnavn, "w+");
    fwrite($fh, $streng);
    fclose($fh);
}
SWITCH($knappen)
{
    CASE "Opdater":
        echo skriv_txtfil($_REQUEST["mappe"], $_REQUEST["filnavn"], $_REQUEST["n2"]);
        echo laes_txtfil("$dir", $_REQUEST["filnavn"]);   
    BREAK;
    CASE "Opret ny":
        $filnavn = $_REQUEST["n3"] . ".txt";
        echo skriv_txtfil($_REQUEST["mappe"], $filnavn, $_REQUEST["n4"]);
            echo laes_txtfil("$dir", $filnavn);
    BREAK;
    CASE "Find":
            echo laes_txtfil("$dir", $_REQUEST["find"] . ".txt");
        BREAK;
    DEFAULT:
    echo laes_txtfil("$dir", "");
}
?>

//sostack
Avatar billede futurama Nybegynder
16. september 2004 - 14:36 #8
nu virker det og her er dine sidste point http://www.eksperten.dk/spm/540382 mange tak for det :D
Avatar billede kodak Mester
02. juni 2007 - 19:37 #9
er det bare mig eller skriver den ikke noget i txt filen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester