Avatar billede kajbi Nybegynder
18. december 2005 - 19:21 Der er 20 kommentarer og
1 løsning

Opret fil.

Hej
Jeg har denne her kode
<?
umask(O);
@mkdir("$_GET[mappe]", 0777);
?>
Den opretter en mappe.
Så nu vil jeg gerne have at den også opretter index.php i den mappe man opretter, indholdet i filen skal bare lige være "Hej" til at starte med.

Mvh.
Kajbi.dk
Avatar billede brego Nybegynder
18. december 2005 - 19:33 #1
touch() og file_put_contents() (eller fopen(), fwrite() og fclose() hvis du er på PHP4).
Avatar billede nizo Nybegynder
18. december 2005 - 19:56 #2
file_put_contents() virker kun i PHP5, du kan ikke bruge touch() til at lave en fil, derimod skal du bruge:

if($open = fopen("index.php", "a+"))
{
  fwrite($open, "dette er index.php");
}


a+ aabner filen for reading og writing, og hvis den ikke findes, laver PHP'en den..
Avatar billede nizo Nybegynder
18. december 2005 - 19:57 #3
Og selvfølgelig lige en
close($open);
til sidst :o)
Avatar billede kajbi Nybegynder
18. december 2005 - 20:04 #4
Den virker ikke!
Avatar billede kajbi Nybegynder
18. december 2005 - 20:04 #5
Andre forslag?
Avatar billede nizo Nybegynder
18. december 2005 - 20:08 #6
Andre forslag?! Du sætter mit forslag til tælling fordi det ikke lige virkede med det samme!? Hvad virkede ikke? Fik du nogle fejl? Hvordan ser din kode ud? Hvor ligger du den i forhold til filen?
Avatar billede nizo Nybegynder
18. december 2005 - 20:11 #7
Ellers ville et andet forslag være:

<?php
$temp = tmpfile();
fwrite($temp, "dette er index.php");
copy($temp, "index.php");
fclose($temp);
?>
Avatar billede brego Nybegynder
18. december 2005 - 20:20 #8
Nizo, jeg skrev at han skal bruge fopen(), fwrite() og fclose() hvis han er på PHP4, og derudover kan man godt bruge touch() til at oprette filer. Kig i dokumentationen ;)
Avatar billede nizo Nybegynder
18. december 2005 - 20:28 #9
Ja du har ret, fik ikke lige læst Dokumentationen ordenligt igennem ;) Men det du mente med fopen, fwrite, fclose var det jeg skrev (Saa vidt jeg kan forstaa)
Avatar billede kajbi Nybegynder
18. december 2005 - 20:46 #10
Nizo: Jeg får ingen fejl, den opretter bare ikke filen..
Avatar billede nizo Nybegynder
18. december 2005 - 20:55 #11
Prøv med touch, som brego siger :o)
Avatar billede brego Nybegynder
18. december 2005 - 21:00 #12
Hej, kajbi, egentlig, har du retigheder til at oprette filer der hvor du prøver at gøre det? :?
Avatar billede kajbi Nybegynder
18. december 2005 - 21:18 #13
Ja for den Chmod selv mappen til 777
Avatar billede htmlkoder_dk Nybegynder
19. december 2005 - 18:45 #14
Jeg bruger selv følgende:
Det kræver dog, at der ligger en fil, som hedder 'empty.php' ..

$dir = "bibliotek";
$filename = "index.php";
$start = $_SERVER["DOCUMENT_ROOT"] ."/";
$bib = $start ."$dir";
mkdir($bib,0755);
$emptyfile = "empty.php";
$newfile = "$dir/$filename";
if (!copy($file, $newfile)) {
echo "Filen kunne ikke kopieres...";
}
else
{
echo "Filen og mappen er nu oprettet...";
}
$fil = fopen("$dir/$filename","w");
fwrite($fil,"Filens indhold");
fclose($fil);
Avatar billede htmlkoder_dk Nybegynder
20. december 2005 - 09:51 #15
Ups.

$bib skal rettes til $dir
Avatar billede kajbi Nybegynder
20. december 2005 - 15:49 #16
http://www.kajbi.dk/empty.php?mappe=hej111111


Den siger bare at Filen kunne ikke kopieres...
Avatar billede kajbi Nybegynder
20. december 2005 - 15:49 #17
<?
mkdir("$_GET[mappe]");
$dir = "$_GET[mappe]";
$filename = "index.php";
$start = $_SERVER["DOCUMENT_ROOT"] ."/";
$dir = $start ."$dir";
mkdir($dir,0755);
$emptyfile = "empty.php";
$newfile = "$dir/$filename";
if (!copy($file, $newfile)) {
echo "Filen kunne ikke kopieres...";
}
else
{
echo "Filen og mappen er nu oprettet...";
}
$fil = fopen("$dir/$filename","w");
fwrite($fil,"Filens indhold");
fclose($fil);
?>
Sådan ser min kode ud!
Avatar billede htmlkoder_dk Nybegynder
20. december 2005 - 18:35 #18
empty.php skal være tom. Scriptet skal køre i en anden fil...
Avatar billede kajbi Nybegynder
22. december 2005 - 17:25 #19
Har jeg prøvet, men det hjælper ikke!
Avatar billede kajbi Nybegynder
22. december 2005 - 17:50 #20
Lukker
Avatar billede nizo Nybegynder
22. december 2005 - 17:51 #21
kajbi:

I din kode; har du overvejet at skrive umask(O); rigtigt? umask skal i skrives med et "O" med med "0".
Lav
umask(O);
om til
umask(0);
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