Oprette en fil automtisk

Tags:    php

Hejsa,

Jeg er igang med en større bunke scripts i et system, hvor jeg får brug for at kunne oprette nye filer ud fra php. Det vil i hvert fald være smartest. Jeg har surfet lidt rundt for at lede efter en løsning, men det meste af det jeg finder handler enten om at åbne en fil for at læse dens indhold eller skrive til den. Jeg har kigget lidt på funktionen tempnam() på php.net, men kan ikke rigtig få det til at virke, og ved heller ikke rigtig om det er løsningen på mit problem.

Findes der en måde hvorpå jeg kan få php til selv at oprette en ny fil på serveren? For eksempel en ny txt-fil, men helt suverænt ville det være, hvis den kunne oprette en ny php- eller html-fil.

På forhånd tak,
Bjarne Kruse





5 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hej Bjarne

Hvis du kan oprette en txt-fil, så kan du også oprette en php-fil. Forskellen ligger jo kun i efternavnet på din nye fil, som du opretter, ik? :-)

Den php-fil som serveren selv skal oprette, skal naturligvis have en masse "standard-indhold" (head-, html-, title-, body-tags o.s.v.). For at løse dette problem, kan du lave noget ala følgende:

-------------------------------
$handle = fopen("filnavn.php", "x+");
fwrite($handle, "<html>\\n<head>\\n<title>Titel på den nye side</title>\\n</head>\\n\\n<body>\\nIndhold i filen.\\n</body>\\n</html>");
-------------------------------

Hvis "standard-indholdet" altid er det samme, så kan du jo lave det som en includes, så du bare nøjes med at tilføje "include('include_standardindhold');".
Og på samme måde kan du tilføje alt det indhold som du overhovedet har lyst til :-).

Jeg håber du kan bruge mit indlæg som noget konstruktivt i udviklingen af dit projekt.

Med venlig hilsen
Jacob V. Pedersen



Hej Bjarne
For Database se evt.
http://udvikleren.dk/search.php?techid=6&searchtext=database&searchmethod=onlythistech

Jacob V. Pedersen du har helt ret i at det kun er efternavnet der skal ændres for at få scriptet til at virke med PHP filer.

Jeg syntes for nogle måneder siden det var sjovt at man kunne afprøve sin PHP- scripts på min side, og havde derfor lavet en side hvor man kunne indskrive sine script og de blive afviklet fra serveren. Dette fik en uheldig udgang, og min side er lukket PT og det gør jeg ikke igen.

Bjarne er det fordi du gerne vil lave noget der ændre sig på siden ?
Hvis det er sådan er det nok mere fornuftigt at bruge en DB. Du kan få en gratis DB og hjemmeside på www.1go.dk

Hvis du vil vide noget mere om SQL og PHP er der lavet to hæfter fra IDG, der "næsten" ikke koster noget der omhandler emnet. Hæfterne er på dansk, og er nemme at læse. Disse er kun til at lære basis viden.

Hvis dette ikke gav et hint, så skrev lige en lidt bedre forklaring hvad det er du vil lave.

Med venlig hilsen
Janus S. Andersen

* Life is a dream in a programmers heaven *



Hejsa,

Jeg er igang med en større bunke scripts i et system, hvor jeg får brug for at kunne oprette nye filer ud fra php. Det vil i hvert fald være smartest. Jeg har surfet lidt rundt for at lede efter en løsning, men det meste af det jeg finder handler enten om at åbne en fil for at læse dens indhold eller skrive til den. Jeg har kigget lidt på funktionen tempnam() på php.net, men kan ikke rigtig få det til at virke, og ved heller ikke rigtig om det er løsningen på mit problem.

Findes der en måde hvorpå jeg kan få php til selv at oprette en ny fil på serveren? For eksempel en ny txt-fil, men helt suverænt ville det være, hvis den kunne oprette en ny php- eller html-fil.

På forhånd tak,
Bjarne Kruse



<?
touch('filename.ext');
?>

http://www.php.net/manual/en/function.touch.php

Vær opmærksom på at brugeren der har Apache, eller anden webserver skal have rettighed til at at skrive til den sti hvor filen skal oprettes...

Hvis filen ikke findes laver touch() en ny, hvis den kan vel at mærke..
ellers tag at bruge php's inbyggede ftp funktioner, eller et eller andet :p

Mvh Bob



Hej
Det skulle kunne lade sig gøre.
Det eneste er bare at det giver nogle sikkerhedsproblemmer jeg ikke helt ved hvordan du skal løse.

Måske kan sikkerhedsproblemmet løses ved at anvende en database.

Se evt.
http://dk2.php.net/manual/en/function.fwrite.php

I højre side findes der en liste med andre kommandoer der kan være gode til fil manipulering.

For at kunne oprette en fil på serveren skal du vha. dit FTP program give adgang således at der til et PHP script kan oprettes en fil i PHP (Sikkerhedsproblem).

Dette er ikke en løsning med det kan måske hjælpe.

Med Venlig Hilsen
Janus S. Andersen



Måske kan sikkerhedsproblemmet løses ved at anvende en database.

Se evt.
http://dk2.php.net/manual/en/function.fwrite.php


Du ledte mig da i hvert fald på sporet. Med fopen kunne jeg oprette en ny fil ved at skrive fopen("nyfil.txt", "x+"). Så er det da klaret. Men du har ret i at det ikke er det mest fordelagtige hvis man skal tænke i sikkerhed. Og det leder mig således til mit nye problem: nemlig at man gerne skulle kunne oprette nye php-filer i stedet for txt, således at der også kunne stå nogle nye php-scripts i den nye fil. Så jeg kunne forestille mig at det var noget man kunne løse ved at bruge database, men har du et eksempel på hvordan man kunne gøre dette?



t