| Autor | Zpráva | ||
|---|---|---|---|
| OldřichSitko Profil * |
#1 · Zasláno: 6. 11. 2013, 14:01:50
Jak udělat script, který mě vždy při dosažení tisícího čísla vytvoří složku:
/1000/ /2000/ /3000/ .... |
||
| Amunak Profil |
if($cislo % 1000 == 0 && $cislo > 0)
mkdir('/' . $cislo); |
||
| OldřichSitko Profil * |
#3 · Zasláno: 6. 11. 2013, 14:50:27
A když budu chtít zpětně zjistit do jaké složky ID patří, zjistím to jednoduše jak? Budu mít řekněmě číslo 5 a to bude patřit do složky 0. Budu mít číslo 1450 ... bude patřit už do složky 1000
|
||
| DJ Miky Profil |
#4 · Zasláno: 6. 11. 2013, 15:09:44
Vydělíš číslo tisícem a zaokrouhlíš dolů, tedy:
$slozka = floor($cislo / 1000); Mimochodem, na začátku mkdir() Amunakova příkladu zřejmě nemá být lomítko, jinak se adresář bude vytvářet v kořenovém adresáři, což v 99 % případů není žádoucí. Pro vytvoření v aktuálním adresáři by tam mělo být './'.
|
||
| Amunak Profil |
#5 · Zasláno: 6. 11. 2013, 15:43:12
DJ Miky:
„Pro vytvoření v aktuálním adresáři by tam mělo být './'.“ anebo tam nemusí být nic. Já to tak původně měl, ale chtěl jsem 1) ilustrovat složení cesty 2) mít to přesně podle zadání (kde to lomítko na začátku je) |
||
| OldřichSitko Profil * |
#6 · Zasláno: 6. 11. 2013, 17:10:29
Mockrát děkuji za výpomoc.
Nyní se složky vytváří, ale existuje i zpětná kontrola? Tj. pokud složka neexistuje, tak se tvoří ? |
||
| DJ Miky Profil |
#7 · Zasláno: 6. 11. 2013, 17:53:27
Existenci můžeš kontrolovat pomocí funkce is_dir(). Ta vrátí
false, pokud daný adresář neexistuje. V tom případě ji můžeš vytvořit.
|
||
| OldřichSitko Profil * |
#8 · Zasláno: 6. 11. 2013, 20:55:14
Tak bohužel jsem zjistil chybu. Pokud $cislo bude v rozmezí 0 - 999, tak to nebude fungovat a u tohoto čísla potřebuji udělat podmínku také. Nyní podmínka funguje pouze nad 1000.
if($cislo % 1000 == 0 && $cislo > 0) |
||
| Micruss Profil |
a co
<?php
if($cislo % 1000 == 0 && $cislo > 0) {
//... 1000 a výše
}
else { // super_tajný_kod_pod_1000
} |
||
| Amunak Profil |
#10 · Zasláno: 6. 11. 2013, 22:15:25
Micruss:
to dělá něco úplně jiného, než co čekáš (myslím) OldřichSitko: Tak tam dej >= místo >, nebo tu druhou část podmínky odmaž úplně. Dal jsem to tam proto, abych nemusel řešit, že budeš mít adresář 0 místo 0000. Ale nebyl by problém ten zbytek doplnit něčím jako str_pad(). |
||
|
Časová prodleva: 13 let
|
|||
0