Zdravim, lze vytvořit název nové proměnné z obsahu jiné proměnné?
Mám v adresáří soubory jejichž názvy jsou číselné hodnoty. A potřebuju načíst tyto soubory jako proměnné se stejným názvem (jako je název soubor).
názvy souboru:
11.dat
12.dat
13.dat
.... atd.
načíst je a vytvořit proměnné:
$id11
$id12
$id13
..... atd.
pokud si je vypíšu všechyn zvlášť, tak je to pakárna (hlavně když soubory v adresáři příbývají): $id11 = File ("11.dat");
potřebuju dát načítáni do cyklu a to si nevim rady... :-(
Fórum › PHP
Jak vytvořim novou proměnnou z názvu souboru?
Podívej se sem: http://cz.php.net/manual/en/language.variables.variable.php
Já bych do cyklu použil funkci file_exists(), která by zjišťovala zda je daný soubor v adresáři, pokud ano vytvořila by se v cyklu proměná, pokud máš v názvech souborů čísla tak by to mohlo jít. ;)
z_moravec napsal:
Podívej se sem: http://cz.php.net/manual/en/language.variables.variable.php
diky, tohle by mělo jít, hned vyzkouším.
RolandN napsal:
Hmm, tak mi to s tou proměnnou proměnné nějak nejde :-(
A neexistuje něco jako vytvoření názvu z obsahu několika proměnných?
něco jako dejme tomu:
${id.$a} = "hallo";
echo $id11;
:-)
Myslím že to nemusíš řešit, když výsledek načteš do pole ;)
Hele, a když si takhle hezky ty proměnné vytvoříš, tak k nim budeš stejně pitomě přistupovat? Souhlasím s tím, že bys měl použít pole.
A ten tvůj pokus jde, akorát to musí trochu dávat smysl ;)
$a = 11; ${'id'.$a} = 'halo'; echo $id11;
Super funguje tohle: ${'id'.$a}
Potřebuju to na stránku (bez použití databáze) která načte soubory (každý soubor představuje určitý produkt) ve kterých je odřádkována nějaká hodnota (název produktu, popis, atd...). Soubory se načtou a vytvoří se z nich proměnné s číslem daného produktu, kde pak v každém poli jsou rozdělene informace, které jsou na stránce podle potřeby zobrazeny.
celý zápis mám takhle (ty cykly jsou asi zvěrstvo, ale funguje to :-) :
for($i=0; $i<999; $i++) {
if (file_exists("files/$i.id")) {
$data = File ("files/$i.id");
for ($x = 0; $x < Count ($data); $x++) ${'id'.$i}[$x] = $data[$x];
}
}
To RolandN : Trochu OT, ale je nějaký důvod proč nemůžeš použít databázi? Pokud do těch souborů i zapisuješ, tak si celkem koleduješ o problém.
To RolandN :
Hosting s databází dnes seženeš i v ČR už i od 20kč/měsíc, navíc tu jsou free hostingy jako ic.cz, webzdarma.cz, atd.. ;) .. smim vědět co je to za hosting?
ty cykly jsou asi zvěrstvo, ale funguje to :-)
for($i=0; $i<999; $i++) {
if (file_exists("files/$i.id")) {
$data = File ("files/$i.id");
for ($x = 0; $x < Count ($data); $x++) ${'id'.$i}[$x] = $data[$x];
}
}
foreach (glob("files/*.id") as $file)
${'id'.(int)basename($file)} = file($file);
?Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Jak namapovat interni URL na novou subdomenu — založil ingiraxo
Jak posunout ukazatel na proměnnou? — založil oxidián
Jak vytvořit ve Wordpressu novou stránku pomocí API — založil Libor
Dotazeni nazvu souboru — založil oraf
Moderátoři diskuze