Avatar billede xhtml Nybegynder
23. oktober 2008 - 20:04 Der er 6 kommentarer

Kan ikke ligge filer ind i den mappe jeg laver online

Hej

Jeg har lavet et system, hvor jeg kan lave php, html (osv) filer ind på sitet online.
De mapper jeg laver online, kan jeg ikke ligge nogen filer ind i, hvad skyldes det?

Brugte koden:
<?
mkdir($sti, 0777);
?>
Avatar billede jensgram Nybegynder
23. oktober 2008 - 20:21 #1
Avatar billede showsource Seniormester
23. oktober 2008 - 21:13 #2
Ja, det er sikkert problemet
Selvom du bruger 0777 i mkdir() skal du chmod dir efterflg. også

<?php
mkdir($sti, 0777);
chmod($sti, 0777);
?>
Avatar billede xhtml Nybegynder
23. oktober 2008 - 22:24 #3
med "chmod($sti, 0777);" med i min kode kan jeg ligge filer ind i mappen.. Men jeg kan ikke oprette filer online ind i den mappe. Hvordan kan det være ?
Avatar billede xhtml Nybegynder
25. oktober 2008 - 01:12 #4
Jeg ligger filer ind med denne kode:

$dir = $_SERVER['DOCUMENT_ROOT'] .'/'. $sti .'/'. $filnavn.'.'.$type;
if(!file_exists($dir)) {
    $fil = fopen($dir, "w");
    fwrite($fil, $indhold);
}

Den kode virker med alle de mapper jeg ligger ind i ftpen, men når jeg selv laver mapper, kan jeg ikke ligge filer der ind..
Avatar billede showsource Seniormester
25. oktober 2008 - 07:15 #5
flg. virker fint for mig:

<?php
// sti til rod af domain
$fullpath = $_SERVER["DOCUMENT_ROOT"];
// navn på dir som er oprettet med ftp, og chmod'et til 0777
$dirpath = $fullpath."/nytdir/";


if(!is_file($dirpath."txtfil.txt")) {

$fil = fopen($dirpath."testfil.txt", "w");
fwrite($fil, "Noget tekst");
fclose($fil);

chmod($dirpath."testfil.txt", 0750);

}

// nytdir
$dirnavn = "meretest";

if(!is_dir($dirpath.$dirnavn)) {

mkdir($dirpath.$dirnavn, 0777);
chmod($dirpath.$dirnavn, 0777);

$fil = fopen($dirpath.$dirnavn."/nytextfil.txt", "w");
fwrite($fil, "Noget andet tekst");
fclose($fil);

chmod($dirpath.$dirnavn."/nytextfil.txt", 0750);

}


?>
Avatar billede showsource Seniormester
25. oktober 2008 - 07:17 #6
Og b.t.w., i topppen af dit script kan du prøve at bruge:

<?php
ini_set('error_reporting', E_ALL);

// resten af scriptet


Så vil du få vist alle fejlmeddelser, som sandsynligvis er slået fra på serveren.
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