Autor | Zpráva | ||
---|---|---|---|
Čeluk Profil |
#1 · Zasláno: 25. 7. 2016, 15:11:19
Proč se mi tímto příkazem nesmaže obsah složky pokus?
<?php function delTree($dir) { $files = glob( $dir.'/pokus/', GLOB_MARK ); foreach( $files as $file ){ if( is_dir( $file ) ) delTree( $file ); else unlink( $file ); } if (is_dir($dir)) rmdir( $dir ); } ?> |
||
Fisir Profil |
#2 · Zasláno: 25. 7. 2016, 15:36:01
Reaguji na Čeluka:
Funkci delTree() nikde nevoláš.
|
||
juriad Profil |
#3 · Zasláno: 25. 7. 2016, 15:43:17
Čeluk:
A jajaj, ty jsi zkoušel být kreativní. Tu funkci jsi měl nechat jak bývala. Ten adresář pokus jsi ji měl předat jako parametr.
|
||
Čeluk Profil |
#4 · Zasláno: 25. 7. 2016, 15:43:19
Stejně se mi ten zápis zdá strašně moc složitej. Nešlo by to zjednodušit? Problém je v tom že mám příklad na webu 30 složek a potřebuju mazat obsah jenom jedné. To je asi technicky nemožné co?
|
||
juriad Profil |
#5 · Zasláno: 25. 7. 2016, 16:34:18
Čeluk:
Ta funkce je obecná, očekává, že v té složce můžou být další složky a v nich zase další... Prostě ji vezmi jako hotovou, neupravuj ji, jen ji předej cestu ke složce, kterou chceš smazat. |
||
Čeluk Profil |
#6 · Zasláno: 25. 7. 2016, 16:44:00
juriad:
A nemůže být problém že v té složce pokus jsou právě další podsložky? Třeba proto to nefunguje. Ještě se raději zeptám, potřeboval bych touto funkcí vždy vymazat obsah složky pokus ve které je cca 2000 složek a v každé kolem 5 souborů textových, je to vůbec technicky možné takto řešit? |
||
juriad Profil |
#7 · Zasláno: 25. 7. 2016, 16:55:19
Ano, znovu říkám, obnov původní verzi té funkce delTree a jen jí předej správný argument.
delTree('pokus/') |
||
Čeluk Profil |
#8 · Zasláno: 25. 7. 2016, 17:47:31
juriad:
Jenomže když to udělám takto tak to napíše chyba 500 <?php function delTree($dir) { $files = delTree('pokus/'), GLOB_MARK ); foreach( $files as $file ){ if( is_dir( $file ) ) delTree( $file ); else unlink( $file ); } if (is_dir($dir)) rmdir( $dir ); } ?> |
||
juriad Profil |
#9 · Zasláno: 25. 7. 2016, 17:52:17
Prosím použij následující funkci, je o něco lepší než ta tvá varianta, kterou jsi bůhvíkde splašil. Nic v ní za žádnou cenu neměň.
function delTree($dir) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir); } Tuto funkci zavoláš a předáš jí cestu k adresáři, který chceš smazat. delTree('pokus') |
||
Čeluk Profil |
#10 · Zasláno: 25. 7. 2016, 18:22:40
juriad:
Dal jsem to tam takto ale nic se nesmazalo : <?php function delTree($dir) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir); } ?> |
||
juriad Profil |
#11 · Zasláno: 25. 7. 2016, 18:30:59
Čeluk:
Zavolal jsi tu funkci? Víš vůbec, co je to funkce? |
||
Čeluk Profil |
#12 · Zasláno: 25. 7. 2016, 18:50:07
juriad:
Mám to takto. Nevím co s tím dál udělat. |
||
pcmanik Profil |
Čeluk:
A pozrel si sa na príspevok č. [#9]? Jasnejšie sa to už asi nedá vysvetliť. |
||
Čeluk Profil |
#14 · Zasláno: 25. 7. 2016, 19:00:46
pcmanik:
Já vím, ale když to tam doplním tak to hodí chybu 500 <?php function delTree($dir) { delTree('pokus') $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir); } ?> |
||
Martin2 Profil * |
#15 · Zasláno: 25. 7. 2016, 19:34:06
Myslím, že je to marné. Čeluk má evidentně znalosti PHP rovny nule.
Čeluk: NEzasahuj do funkce delTree, kterou ti napsal [#9] juriad. Nastuduj si základy PHP, používání funkcí a tak dále. Na řádku 3 je syntaktická chyba (a kdyby nebyla, tak zde vytvoříš nekonečnou rekurzi). |
||
Čeluk Profil |
#16 · Zasláno: 25. 7. 2016, 19:44:33
Martin2:
Opravil jsem to takto a už to chybu neháže, ale nic to ani nesmaže :-( <?php function delTree($dir) { delTree('pokus') $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir); } ?> |
||
Martin2 Profil * |
#17 · Zasláno: 25. 7. 2016, 19:53:17
|
||
Čeluk Profil |
Dobrý, nemám na to už nervy. Díky za "pomoc". Doufám že se Vám to někdy oplatí. Mažu poradnu ze záložek. K čemu jí tam mám? Abych si zde s Váma psal? Na to je můj čas moc drahý. Potřeboval jsem poradit al sem už příště na 100% nepůjdu. Ať se Vám daří.
Mi víme jak na to ale nepovíme... Tak to jsem ještě nežral. Hodně úspěchů "poradno" tvl to je teda věc. Jsme poradna, ale na nic se neptejte protože Vám jenom napíšeme že to jde, ale nenapíšeme jak. To si to můžu rovnou vyhledat na internetu. Jenomže tam to není, tak jsem spolíhal na poradnu, ale to jsem se HÓOOOOOOOOODNĚ zmýlil. Už jsem si to vygoooooglil. Mějte se čaaaaaaaau |
||
Martin2 Profil * |
#19 · Zasláno: 25. 7. 2016, 20:25:22
Smyslem tohoto fóra je identifikovat problém a nasměrovat tazatele k jeho řešení. Nikdo tě tu nebude učit programovat nebo za tebe psát skripty.
Kombinace tvé neznalosti, nezájmu a arogance tu asi nikomu scházet nebude. Takže pokud své znalosti začneš prohlubovat samostatně, jedině dobře. |
||
Časová prodleva: 9 let
|
0