Avatar billede sjaka Nybegynder
17. januar 2007 - 17:23 Der er 10 kommentarer

Problemer med tilgang til tekstfil på website

Hej.

Jeg har et script som skriver til en tekstfil. Det virker fint på min maskine, (hvor jeg kører reactor server), men når jeg lægger sitet op på mit domæne, kan jeg ikke tilgå filen. Dvs. jeg får beskeden som er efter "or die("bla bla").

Jeg tænker mig det nok har noget med attributter på filen at gøre, men hvilke filer skal have disse attributter, og hvilke attributter skal jeg tildele? Skal jeg putte attributterne på tekst-filen eller script-filerne som skriver i tekstfilen?

Og nej - jeg vil ikke benytte den tilhørende MySQL-server - nu vil jeg have det her til at virke!

På forhånd tak :)
Avatar billede zynzz Praktikant
17. januar 2007 - 17:39 #1
Kan du prøve at ligge scriptet her ?
Avatar billede sjaka Nybegynder
17. januar 2007 - 18:32 #2
jada. et af dem kører således:

$fil = fopen("nyheder.txt") or die ("Det duer ikke - prøv igen");

$navn = $_POST["navn"];

fwrite($fil, $navn);

Det rigtige har flere variabler, så dette er lidt forkortet, men ideen er der
Avatar billede zynzz Praktikant
17. januar 2007 - 18:57 #3
$fil = fopen("nyheder.txt") or exit("Det duer ikke - prøv igen");
$navn = $_POST['navn'];
fwrite($fil, $navn);
fclose($fil);
Avatar billede coderdk Praktikant
17. januar 2007 - 21:00 #4
Hvordan kan det virke? Mode er da ikke optional?

$fil = fopen("nyheder.txt", "a") or die("Det duer ikke - prøv igen");

Husk at den folder som scriptet ligger i skal kunne skrives til af webserverbrugeren - Typisk 777-permissions via dit FTP-program
Avatar billede mcgoat Nybegynder
17. januar 2007 - 21:03 #5
Måske noget med versioner?

Bemærk: As of PHP 4.3.2, the default mode is set to binary for all platforms that distinguish between binary and text mode. If you are having problems with your scripts after upgrading, try using the 't' flag as a workaround until you have made your script more portable as mentioned below.
Avatar billede zynzz Praktikant
17. januar 2007 - 21:06 #6
ja coderdk, min fejl så ikke mode manglede...!
Avatar billede coderdk Praktikant
17. januar 2007 - 21:06 #7
Det er pga permissions, er jeg sikker på... Prøv:

if ( file_exists( "nyheder.txt") && !is_writable( "nyheder.txt" ) )
{
  echo "Filen findes, men kan ikke skrives til!";
}
if ( !file_exists( "nyheder.txt") && !is_writable( "./." ) )
{
  echo "Filen findes ikke, men kan oprette i denne folder!";
}
Avatar billede coderdk Praktikant
17. januar 2007 - 21:06 #8
if ( !file_exists( "nyheder.txt") && !is_writable( "./." ) )

skal muligvis være:

if ( !file_exists( "nyheder.txt") && !is_writable( "./" ) )

Men jeg tror nu det andet virker også ;)
Avatar billede sjaka Nybegynder
17. januar 2007 - 22:06 #9
jeg prøver det lige senere - er lidt hængt op nu
Avatar billede sjaka Nybegynder
29. januar 2007 - 14:53 #10
jeg er faldet i et hul og har ikke fået leget med det endnu. jeg har dog ikke glemt jer, så bare rolig
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