kicaj
13.05.2010, 17:42:37
Mam problem pewnie z podstawowa funkcja - unlink
foreach(glob($uniqueID .'*') as $file) { ?}
Funkcja nie usuwa - jak powinna plikow z wybrana nazwa, a wszystkie pliki w danym folderze?
Dlaczego?
ziqzaq
13.05.2010, 18:15:10
Wygląda jakby $uniqueID było pustym ciągiem znaków. Jest taka możliwość?
kicaj
13.05.2010, 18:19:10
Nie. Przed dodaje jeszcze: echo $file...
Dalej nie wiem czemu sie tak dzieje.
ziqzaq
13.05.2010, 18:23:44
Cytat(kicaj @ 13.05.2010, 19:19:10 )

Nie. Przed dodaje jeszcze: echo $file...
Dalej nie wiem czemu sie tak dzieje.
Ale co ma "echo $file" do "echo $uniqueID" przed całą pętlą?
kicaj
13.05.2010, 18:31:10
Cytat(ziqzaq @ 13.05.2010, 19:23:44 )

Ale co ma "echo $file" do "echo $uniqueID" przed całą pętlą?

...to ze takie podstawy sie sprawdza zanim zada sie pytanie.
croc
13.05.2010, 18:31:38
Zrób test:
foreach(glob($uniqueID . '*') as $file) { }
kicaj
13.05.2010, 18:36:51
@croc: czytaj uwaznie...
ziqzaq
13.05.2010, 18:38:01
~croc
Napisał, że już tego próbował.
~kicaj
Wolałem się upewnić

Możesz zaprezentować jak wygląda to id?
croc
13.05.2010, 18:41:57
"Przed" zrozumiałem jako "przed pętlą". No to napisz co zwraca ten test z echo.
kicaj
13.05.2010, 18:41:58
$uniqueID to 13-znakowy unikalny kod oparty na time() (np. 4bec2e494a57b), gdzie w folderze leza zazyczaj dwa pliki o tej nazwie z innym rozszerzeniem (np. 4bec2e494a57b.jpg i 4bec2e494a57b.png)
melkorm
13.05.2010, 19:12:51
foreach(glob($uniqueID . '*') as $file) { }
croc
13.05.2010, 19:18:06
Problem jest banalny, tylko pan kicaj nie chce współpracować.
kicaj
13.05.2010, 19:25:18
file_exists, is_file zwracaja true
croc
13.05.2010, 19:28:54
No trudno żeby pokazywało false, skoro usuwa. Ale czy pętla z echo wypisuje wszystkie pliki w katalogu? Jeśli tak, to zrób echo $uniqueID . '*' zaraz przed foreach.
kicaj
13.05.2010, 19:31:07
@croc: no takie oczywiste bledy sprawdzalem...
croc
13.05.2010, 19:33:11
Nie sądzę. Jeśli usuwa ci wszystkie pliki to ewidentnie masz złą wartość w $uniqueID. Ale ja już się nie udzielam, bo nie umiesz normalnie odpowiadać na pytania, szkoda czasu.
ziqzaq
13.05.2010, 20:31:41
Może to nie wina samego wyrażenia w glob tylko całej ścieżki do pliku (jakieś znaki powodujące konflikt?) bo zgaduje, że plik php nie jest w tym samym foderze co pliki usuwane. Sprawdzałeś czy to samo dzieje się w innych folderach?
I tak z ciekawości na jakich systemach i wersjach php testowałeś to?
W sumie to błąd jest dziwny bo powinno wszystko śmigać.
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.