chcem do array vkladat hodnoty pomocou include. Lenze array takuto formu zapisu pravdepodobne nepodporuje:
Kód: Vybrať všetko
function obj($in){
$trans = array(include("subor.inc"));
return(strtr($in, $trans));
}Dakujem
Kód: Vybrať všetko
function obj($in){
$trans = array(include("subor.inc"));
return(strtr($in, $trans));
}
no ja chcem nacitavat jeden subor, kde bude obsah nieco taketo ["001"=>"nulanulajeden", ] a tychto veci tam bude aj viac, bo ten do toho suboru sa budu pridavat dalsie tieto nove veci.chrono napísal:Aký formát má ten súbor? Ak ti stačí, aby celý riadok bol jeden prvok v tom poli, použi funkciu file. Ak to potrebuješ urobiť nejako zložitejšie, budeš ten súbor musieť načítavať po riadkoch, každý riadok rozdeliť na požadované elementy a to potom vložiť do poľa (samozrejme si na to môžeš urobiť nejakú funkciu).
Kód: Vybrať všetko
<?php
function s2p($mask)
{
$translate = Array(
"." => "\\.",
"*" => ".*",
"?" => ".?",
"+" => "\\+",
"[" => "\\[",
"]" => "\\]",
"(" => "\\(",
")" => "\\)",
"{" => "\\{",
"}" => "\\}",
"^" => "\\^",
"\$" => "\\\$",
"\\" => "\\\\",
);
return "/^".strtr($mask, $translate)."$/";
}
function include_files($dir, $mask)
{
$mask = s2p($mask);
$files = array();
if (!preg_match("/\/$/", $dir)) {
$dir .= "/";
}
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($filename = readdir($dh)) !== false) {
if ($filename != "." && $filename != ".." && is_file($dir . $filename) && preg_match($mask, $filename))
$files[] = $dir . $filename;
}
closedir($dh);
}
}
rsort($files);
foreach ($files as $filename) {
include($filename);
}
}
include_files("files", "funkcia*.txt");
?>Kód: Vybrať všetko
<?php
//lang.php
return Array(
"001" => "Vitaj!",
"002" => "Dovidenia!"
);
?>Kód: Vybrať všetko
<?php
//index.php
$lang = include("lang.php");
?>