Gå til innhold

Skrive til txt fil


Anbefalte innlegg

Skrevet

Jeg skal lage et system der folk kan skrive navn og link til siden sin i 2 textboxer. Dette skal så sendes til en txt fil der det lagres.

 

Også skal jeg ha en side der man ser det som er lagret inni i txt-fila.

 

Noen som aner hvordan man gjør dette?

Videoannonse
Annonse
Skrevet

Ikke så vanskelig.

 

Greit å ha en felles fil med innstillingene:

settings.php:


<?php

$filnavn = "links.txt";

$mappe = "//absolutt/sti/til/tekstfil/";

$separator = "§§§";

?>

Husk apache må ha skriverettigheter til mappen med tekstfilen!

 

 

Siden hvor folk kan registrere linker:

writelinks.php:


<?php

require("./settings.php");



if(isset($_POST["navn"]) && strlen($_POST["navn"])>0 && isset($_POST["link"]) && strlen($_POST["link"])>0 ){

 $fp = fopen($mappe.$filnavn,'a');

 fwrite($fp, $_POST['navn'].$separator.$_POST['link']."nr") 

   or die("Kunne ikke skrive til fil!");

 fclose($fp);

 echo "Link lagt til.<br><br>";	

}

else

 echo "Fyll ut begge feltene!";

?>

<form action="writelinks.php" method="post">

Navn: <input type="text" name="navn"><br>

URL: <input type="text" name="link"><br>

<input type="submit" value="Legg til">

</form>

 

Siden som leser tekstfilen og lister opp linkene:

readlinks.php:


<?php

require("./settings.php");



$linker = @file($mappe.$filnavn) or die("Ingen linker tilgjengelig!");



foreach($linker as $l){

 $link = split($separator,$l);

 echo "<a href=".$link[1].">".$link[0]."</a><br>n";

}

?>

 

Skulle funke fint dette her...

Skrevet

joda, legg inn en funksjon som setter en time limit for posting av linker (sessions eller cookies) hvis hvemsomhelst kan få tilgang til den siden, ellers kan du risikere å bli spammet.

Skrevet
Ikke så vanskelig.

 

Greit å ha en felles fil med innstillingene:

settings.php:


<?php

$filnavn = "links.txt";

[b]$mappe = "//absolutt/sti/til/tekstfil/";[/b]

$separator = "§§§";

?>

 

Hvordan blir det når den ligger i samme mappe?

Skrevet

[b]$mappe = "./";[/b] 

..tror jeg...

 

EDIT: ...Men det er en liten uting å gi fulle rettigheter til en åpen katalog i web-treet ditt, er det ikke?

Skrevet

njo. Skal sikre filene.

 

Ok. Første problem:

 

Warning: fopen("/txtlinks.txt", "a") - Permission denied in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 5

 

Warning: Supplied argument is not a valid File-Handle resource in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 6

Kunne ikke skrive til fil!

Kommer når jeg prøvde det.

Noen som ser feilen? :-?

Skrevet
njo. Skal sikre filene.

 

Ok. Første problem:

 

Warning: fopen("/txtlinks.txt", "a") - Permission denied in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 5

 

Warning: Supplied argument is not a valid File-Handle resource in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 6

Kunne ikke skrive til fil!

Kommer når jeg prøvde det.

Noen som ser feilen? :-?

 

Som nevnt, du må sette rettighetene(chmod) til 777.

Skrevet
njo. Skal sikre filene.

 

Ok. Første problem:

 

Warning: fopen("/txtlinks.txt", "a") - Permission denied in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 5

 

Warning: Supplied argument is not a valid File-Handle resource in /home/o/or/orion89/public_html/design/linker/writelinks.php on line 6

Kunne ikke skrive til fil!

Kommer når jeg prøvde det.

Noen som ser feilen? :-?

 

Som nevnt, du må sette rettighetene(chmod) til 777.

Akkurat det som Orion lurte på, har jeg også lurt på en stund.

Er rimelig n00b i php, men prøver så godt jeg kan! :smile:

Hvordan er det man setter chmod til 777?

Skrevet

Dette gjelder linux servere, ikke windows.

Det kan gjøres i kommandolinjen slik:

chmod 777 mappenavn

 

Det kan også gjøres med cute-ftp, ved å høyreklikke -> CHMOD -> kryss av for alle rettigheter -> OK.

Går sikkert i andre ftp klienter også.

Skrevet
Dette gjelder linux servere, ikke windows.

Det kan gjøres i kommandolinjen slik:

chmod 777 mappenavn

 

Det kan også gjøres med cute-ftp, ved å høyreklikke -> CHMOD -> kryss av for alle rettigheter -> OK.

Går sikkert i andre ftp klienter også.

Ok.

Trenger man å gjøre noe lignende på windows-servere?

Skrevet

I windows 2000server/IIS har du en bruker som heter noe som IUSR_xxxx , som på en måte er webserveren. Denne brukeren må få skriverettigheter til den mappen filene(i dette tilfellet txtlinks.txt) ligger.

Dette gjøres ved å høyreklikke mappen -> sharing and security -> noe mer jeg ikke husker i farta. Det er her NTFS kommer til sin fulle rett! :wink:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...