Nazdarek lidicky, potreboval bych trochu poradit, delam na projektu, kde potrebuju pracovat s tvorbou a mazanim souboru, vcetne ukladani teto struktury do databaze.
Na tvorbu pouzivam mkdir a na mazani bych rad pouzil, problem je v tom, ze rmdir dokaze zrusit pouze prazdny adresa, avsak ja bych potreboval mazat i adresare vcetne obsahu, je na to nejaka funkce? Jinak me napada, ze bych snad musel pouzivat rmdir rekurzivne podle databaze, protoze adresare mohou obsahovat dalsi adresare i soubory, diky za help
slo by to cez FTP extension AFAIK
Pro FTP plati stejna pravdila. Je nutne vymazat napred soubory.
aha, tak nic no, mne to asi maze klient ze ;)
A jaky zpusob si myslite bude nejjednodusi, v databazi uz si to osetrim, ale jak to dostat jednoduse pryc? opravdu bude treba zajit az do nejspodnejsich adresaru a zacinat tam?
Bajn: AFAIK ano.
lacop: Presne tak. Chytry FTP klient to tak oprvadu dela. :)
sojkovec: AFAIK?
Na jakem principu to teda maze ten klient? Taky tam musi neco mit.
a co cyklom prebehnut cely adresar a mazat?
v tom problem neni, horsi je, ze adresar muze obsahovat dalsi adresare, tim padem by musel zase odkosit tzn. resit to asi rekurzi (vlastne ani nevim, jestli php podporuje rekurzi) a to se mi zda hodne slozite, tak jsem kutil, jestli neexistuje neco jednodusiho
php rukurziu podporuje, ak chces napisem ti funkciu ktora zmaze cely dir aj s podadresarmi
function delete_dir ($path) {
$dir = open($path);
while ($file = readdir($dir)){
if ($file == "." || $file == ".."){
continue;
}
if (is_dir($file)) {
delete_dir($path . "/" . $file);
} else {
unlink($path . "/" . file)
}
}
}
Diky, zkusim se na to mrknout
No kdyz jsem se na to koukl, tak tam jeste chybi ten konecny rmdir, jinak nedojde k ukonceni rekurze
aha, ano, ale to si uz upravis, som to pisal narychlo ;)
muzes to pls doplnit, ja se tu v tom nejak zamotavam, krom toho se mi nejak nezda to open, nema to byt opendir? muzes to pls odzkouset
>> nezda to open, nema to byt opendir
AFAIK ano
tak jsem to jen zmenil na testovaci verzi a dosel jsem k tomu, ze vsechno rozeznava jako soubor. V cem muze byt problem?
function delete_dir ($path) {
$dir = opendir($path);
while ($file = readdir($dir)){
if ($file == "." || $file == ".."){
continue;
}
echo "$file\n";
if (is_dir($file)) {
echo "slozka<br>";
} else {
echo "soubor<br>";
}
}
}
Nakonec jsem to vyresil :)
Diky za pomoc