webForumDet fria alternativet

Skapa en mapp eller fil i en annan mapp

PHP

4 svar · 341 visningar · startad av Duffer

Medlem sedan mars 2003429 inlägg
Frågan#1

Jag har ett skript i mappen "admin" som skapar filer.
I samma mapp (admin) finns en mapp som heter "undermapp"

sökväg (admin/undermapp/)

Hue gör jag om jag vill skapa en fil eller en mapp i undermappen om jag har skriptet i "admin"-mappen ?

Medlem sedan aug. 20002 975 inlägg
#2

Först. Mappen 'undermapp' måste ha skrivrättigheter för att du ska kunna skapa fil eller mapp i den.

För att skapa mapp:

$nymapp = 'nymapp'; // Förmodar namnet kommer från formulär eller liknande
mkdir('undermapp/'.$nymapp);

För att skapa fil:

$nyttFilnamn = 'nyfil.txt';

$fp = fopen('undermapp/'.$nyttFilnamn, "w");
$fwrite($fp, "Innehållet i filen");
fclose($fp);
Medlem sedan mars 2003429 inlägg
#3

Börjar med att tacka så mycket för hjälpen =)
Ska bara kompleter dina koder ifall någon mer vill göra samma saker.

Man kan inte använda " " " när du ska bestämma en variabel

som:

$fp = fopen('undermapp/'.$nyttFilnamn, "w");

Det rätta är:

$fp = fopen('undermapp/'.$nyttFilnamn, 'w');

Även fel här ska inte vara något "$"

$fwrite($fp, "Innehållet i filen");

Det rätta är:

fwrite($fp, "Innehållet i filen");

Men dessa småfel gör inget, är lite osäker på filhantering.

<?
$nyttFilnamn = 'nyfil.txt';

$fp = fopen('test/'.$nyttFilnamn, 'w');
fwrite($fp, "Hej hej testar lite nu!");
fclose($fp);
?>
Medlem sedan aug. 20002 975 inlägg
#4

$-tecknet före write hade smugit med av misstag, var väl lite trött när jag skrev det :)

Sen går det lika bra att omge strängen "w" med citationstecken som med apostrofer. 'w' är en sträng som skickas in som parameter i funktionen fopen().

Att använda apostrofer är marginellt snabbare än att använda citationstecken, då PHP letar efter variabler inom citationstecken, men skyfflar iväg strängen direkt om man använder apostrofer.

Medlem sedan mars 2003429 inlägg
#5

Matte skrev:

$-tecknet före write hade smugit med av misstag, var väl lite trött när jag skrev det :)

Sen går det lika bra att omge strängen "w" med citationstecken som med apostrofer. 'w' är en sträng som skickas in som parameter i funktionen fopen().

Hmm okej, men grejjen var den att jag fick felmeddelande för att ha "W" istället för att ha 'W' ... men men, funkar gör det iaf ;)

En funktion som kan tillägas för den som med vill använda sig av detta är att ifall du vill först backa några nivåer i mapparna för att sedan gå in i nya kan göras med:

chdir('../images/test/');

Mycket bra funktion jag latill i mitt lilla script =)

793 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
651 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)