Hej Fil IO är mycket långsamt. Jag skulle rekommendera en databas. Där den kan cacha data i minnet istället för att göra kostsamma operationer till hårddisken. Hej Andreas Använd något i stil med "../filnamn" <b>Fil IO är mycket långsamt. Jag skulle rekommendera en databas. Där den kan cacha data i minnet istället för att göra kostsamma operationer till hårddisken.</b> Fast i linux så får du bara riktigt bra filprestanda om du använder sant minnesmappade filer. Å andra sidan så finns väl inte det alternativet alls hos Windows... mmap() menar du, funktionen som får en fil att se ut som en array...? > Fast i linux så får du bara riktigt bra filprestanda om du använder sant minnesmappade filer. Å andra sidan så finns väl inte det alternativet alls hos Windows... Fast i Linux kan du säga att "den här (befintliga) filen är minnesmappad", sen kommer den att betraktas som en del av minnet, och är en del av pagingprocessen. När man läser från eller skriver till ett visst ställe av filen första gången får man ett page fault, och den laddas upp från disk. > Fast i Linux kan du säga att "den här (befintliga) filen är minnesmappad", sen kommer den att betraktas som en del av minnet, och är en del av pagingprocessen. När man läser från eller skriver till ett visst ställe av filen första gången får man ett page fault, och den laddas upp från disk. Altså, att använda fildatabaser är jävligt snabbt. Då du inte sitter med 10mb-filer så är det i många fall lika snabbt som en professionell databas. Cutenews är exempelvis ett stort projekt som använder enkla fildatabaser. Problemet är löst på egen hand. Men tack för alla synpunkter. <b>>Sv: Skapa en mapp med filer och placera dem i mappen ovanförSkapa en mapp med filer och placera dem i mappen ovanför
Jag har använt mig av ett skript som jag hittade här på pellesoft för länge sedan. Detta är från början ett förenklat inloggningsskript som fungerar mycket bra.
Originalet fungerar som så att man skapar ett användarnamn och ett lösenord. Som sedan sparas i en mapp med användarens namn. Problemet är nu hur jag skall göra för att få denna mapp att lägga sig i föregående mapp.
[WEBSIDA]
index.html
[FORMS] --------------------- Här vill jag att den sparas
form.html
[SCRIPT] ------------------- Här sparas den nu
create.php
Detta är koden jag använder:
........................................................................................................................................
// create.php
<?PHP
$file_fornamn = $_POST["create_fornamn"] . "/" . $_POST["create_fornamn"] . ".fornamn";
$file_efternamn = $_POST["create_fornamn"] . "/" . $_POST["create_efternamn"] . ".efternamn";
if(isset($_POST["create_namn"]))
{
mkdir($_POST["create_fornamn"]));
echo "Ditt namn är nu sparat";
$fu = fopen($file_fornamn,"w");
fclose($fu);
$fp = fopen($file_efternamn,"w");
fclose($fp);
}
?>
........................................................................................................................................
Nu har jag hållit på och försökt ändra i koden ca 2 359 gånger. Detta har bara gjort att jag lyckats flytta de två filer som heter "fornamn.fornamn" och "efternam.efternamn" och är mycket tacksam om det finns någon som sitter på svaret.
Tack på förhand / MorganSv: Skapa en mapp med filer och placera dem i mappen ovanför
Dessutom är jag kritisk att ge webb-servern rättigheter att skapa något på hårddisken. Det är ett potentielt säkerhetshål.Sv:Skapa en mapp med filer och placera dem i mappen ovanför
Nu var ju inte frågan vad som är bäst utan hur jag gör för att ändra mapp där innehållet skall sparas. Detta gör jag för att jag vill kunna använda denna princip i ett senare projekt.
Om du har några idéer så är jag tacksam för dessa. Annars finns det väl kanske någon annan där ute som besitter denna kunskap.
// MorganSv: Skapa en mapp med filer och placera dem i mappen ovanför
Sv:Skapa en mapp med filer och placera dem i mappen ovanför
Operativsystem kan cacha filer som används ofta. Jag tror åtminstone att Linux gör det. Har inte Windows nått dit ännu?Sv: Skapa en mapp med filer och placera dem i mappen ovanför
Sv:Skapa en mapp med filer och placera dem i mappen ovanför
Sv:Skapa en mapp med filer och placera dem i mappen ovanför
Det tror jag finns, iaf. till viss del. Har för mig att man kan specificera att filerna man skapar ska vara temp-filer, och då undviker windows in i det längsta att spara på disken. Och att mappa en fil i minnet ska inte vara särskilt omöjligt om jag inte har fel..?
(Och visst, självklart har windows möjlighet att cacha filer, skulle inte bli långlivat annars)Sv: Skapa en mapp med filer och placera dem i mappen ovanför
Det blir alltså lika snabbt som minneshantering i övrigt. (Om jag inte minns fel kan man även på något sätt styra så att du inte kan få den utmappad.
Grejen är att du mycket väl kan mappa in en flera gb stor fil också, och ändå bara behöva ladda upp precis så mycket som du använder. Osäker på om alla de finesserna är möjliga med temporära filer?Sv:Skapa en mapp med filer och placera dem i mappen ovanför
Ah, jodå, det finns: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/creating_a_file_view.asp
Det enda jag är osäker på är hurvida du kan tvinga den att inte slänga ut saker på pagen. Men det tycker jag att det borde gåSv: Skapa en mapp med filer och placera dem i mappen ovanför
Nu till din fråga
Försök att använda absolut-sökvägen till filerna så trasslar du inte lite lätt in dig i konstiga sökvägar.
Kör en phpinfo() och leta reda på vart skriptet körs ifrån så kan du använda det.Sv:Skapa en mapp med filer och placera dem i mappen ovanför
För er då som är intresserade så var lösningen inte svårare än
att sätta "../" på rätt ställen...
mkdir("../_client/".$_POST["create_username"]);
// MorganSv: Skapa en mapp med filer och placera dem i mappen ovanför
2006-11-14 14:18:48 - Niklas Jansson
Använd något i stil med "../filnamn"
</b>