webForumDet fria alternativet

Fil sparas i fel mapp

PHP

3 svar · 771 visningar · startad av WilleB

Medlem sedan okt. 200934 inlägg
Frågan#1
      $filename = 'index.html';
      $Content = "<html><font face='verdana' size='2'>Det här partiet heter<b>$name</b></html>";
 

      $handle = fopen($filename, 'x+');
      fwrite($handle, $Content);
      fclose($handle);

Oavsett hur jag gör så sparas filen i fel mapp!

Det är ett formulär där man fyller i uppgifter för att göra ett eget parti (på låtsas :) )

Sedan tar save.php hand om alla uppgifter

Skpar en mapp med partiets namn i mappen partier på servern
Laddar upp loggan, i rätt mapp
Och ska göra en fil som heter index.html i partiets egna mapp på servern, men istället sparas den i mappen partier!

Har prövat

ftp_chdir($conn,"mittegetparti.se/public_html/partier/$myIntName");

men det fungerar inte!

Medlem sedan nov. 2000146 inlägg
#2

Vart har du koden för att skapa själva mappen?
Vad jag kan förstå av koden så skapar den bara själva index filen,
hur ser din save.php ut?

Medlem sedan feb. 20034 441 inlägg
#3

Du anger ju inte sökvägen till var du villl ska filen. Såhär:

$filename = 'index.html';
      $Content = "<html><font face='verdana' size='2'>Det här partiet heter<b>$name</b></html>";
 

      $handle = fopen("./partier/" . $minMapp . "/" . $filename, 'x+'); // Jag utgår ifrån att den här koden ligger i rooten. Kan alltid vara lämpligt att ha med en absolut sökväg.
      fwrite($handle, $Content);
      fclose($handle);

Kom ihåg att undvika åäö, mellanslag osv. i mappnamnet. Rekommenderar att använda funtionen jag tipsade om dig igår för att hantera mappnamnen.

Medlem sedan aug. 20039 340 inlägg
#4

WilleB skrev:

Har prövat

ftp_chdir($conn,"mittegetparti.se/public_html/partier/$myIntName");

men det fungerar inte!

Det där är så fel det kan bli!
ftp_chdir ska du använda om du har en öppen ftp-anslutning som du arbetar mot. När du arbetar lokalt ska du använda chdir.
Vidare är sökvägen relativ och utgår från den nuvarande sökvägen. Om du inte står i katalogen ovanför mittegetparti.se, så kommer du ingenvart.
Sedan kanske man bör nämna säkerhetsaspekten. Om du inte kollar filnamnet kan någon låtsas döpa sin fil "../index.php" och skriva över något.

Sen kan du förstås ange en relativ sökväg till fopen, som MickeA beskriver. Det är eventuellt det enklaste och bästa sättet.

Sist av allt vill jag tipsa om getcwd som låter dig skriva ut vilken katalog du står i, vilket kan vara till hjälp.

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)