Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] katalogi i pliki
Forum PHP.pl > Forum > Przedszkole
albercik1983
Witam.
Mam problem z utworzeniem katalogu w istniejacym już katalogu "user".

Jeśli dam:

mkdir($_POST['login']);
fopen (user.php, a);

tworzy katalog o nazwie zmiennej i plik userphp (bez kropki ;/) w katalogu głównym.
Teraz jeśli chcę aby folder o nazwie zmiennej został stworzony w istniejącym katalogu "user" to daję:

mkdir(user/$_POST['login']);
fopen (user/$_POST['login']/user.txt, a);

to wyskakuje błąd:
Warning: mkdir() [function.mkdir]: File exists
Warning: Division by zero

jeśli dam:
mkdir(../user/$_POST['login']);
fopen (../user/$_POST['login']/user.txt, a);
to mam błąd:
Parse error: parse error, unexpected '.', expecting ')'

Ktoś wie jak to rozwiązać?
kefirek
Zobacz tak
  1. <?php
  2. fopen ('../user/'.$_POST['login'].'/user.txt', 'a');
  3. mkdir('../user/'.$_POST['login']);
  4. ?>
batman
Cytat
Warning: mkdir() [function.mkdir]: File exists
Ten błąd oznacza, że próbujesz utworzyć katalog, który już istnieje. Zanim zaczniesz tworzyć katalog, sprawdź funkcją file_exists czy istnieje.
albercik1983
Cytat(kefirek @ 28.02.2009, 21:34:47 ) *
Zobacz tak
  1. <?php
  2. fopen ('../user/'.$_POST['login'].'/user.txt', 'a');
  3. mkdir('../user/'.$_POST['login']);
  4. ?>


zrobiłem tak i mam błąd Parse error: parse error, unexpected '<'

właśnie o to chodzi że folder nie istnieje.
istnieje tylko folder "user" w którym ma zostać stworzony nowy katalog..
kefirek
A tak
  1. <?php
  2. fopen("/user/".$_POST['login']."/user.txt", "a");
  3. mkdir("/user/".$_POST['login']);
  4. ?>
albercik1983
jeśli dam:

mkdir("/user/".$_POST['login']);
fopen("/user/".$_POST['login']."/user.txt", "a");

to mam błąd:
Warning
: mkdir() [function.mkdir]: No such file or directory

może są jakieś polecenia żeby najpierw otworzyć "user", potem dodać do niego $_POST['login'], otwprzyć go i utworzyć plik...
kefirek
To dziwne robie tak i działa poprawnie
  1. <?php
  2. $test = 'test';
  3. mkdir("user/".$test);
  4. fopen("user/".$test."/user.txt", "a");
  5. ?>
patryk20120
To powinno działać tongue.gif
  1. <?php
  2. mkdir ("user/".$_POST['login'], 0700);
  3. fopen('user/'.$_POST['login'].'/text.txt', 'a');
  4. ?>
albercik1983
$test = 'test';
mkdir("user/".$test);
fopen("user/".$test."/user.txt", "a");


działa już

podziękowania dla kefirka smile.gif

jednak się rozmyśliłem i nie chcę, aby folder tworzył się o nazwie takiej jak login, tylko takiej jak nr id w bazie danych.

$dana=mysql_query("select user_id from user where user_login='".htmlspecialchars($_POST["login"]."'")
$pliki=mysql_result($dana)
mkdir("user/".$pliki);
fopen("user/".$pliki."/user.php", "r");

i nie działa ;/
kefirek
Zobacz może tak
  1. <?php
  2. $dana = mysql_result(mysql_query("SELECT user_id FROM user WHERE user_login='".mysql_real_escape_string($_POST["login"]."'"),0);
  3. mkdir("user/".$dana);
  4. fopen("user/".$dana."/user.php", "r");
  5. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.