abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 0
    včera 05:00 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    8.11. 23:11 | Zajímavý software

    Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.

    Ladislav Hagara | Komentářů: 12
    8.11. 22:44 | IT novinky

    Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.

    Ladislav Hagara | Komentářů: 0
    8.11. 03:44 | Komunita

    V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).

    Ladislav Hagara | Komentářů: 3
    8.11. 02:44 | Zajímavý projekt

    Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 3
    7.11. 14:22 | Zajímavý článek

    Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.

    Ladislav Hagara | Komentářů: 0
    7.11. 09:55 | Komunita

    Kit je nový maskot webového prohlížeče Firefox.

    Ladislav Hagara | Komentářů: 17
    7.11. 00:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    6.11. 23:55 | IT novinky

    Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (18%)
     (17%)
     (22%)
     (15%)
     (21%)
     (15%)
     (16%)
    Celkem 329 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    Rozcestník

    Dotaz: php array file_exists

    petka avatar 3.8.2011 15:39 petka | skóre: 25 | blog: heydax | Klasterec N/O
    php array file_exists
    Přečteno: 453×

    Resim tu asi jednoduchou vec , potreboval bych zjistovat existenci souboru z pole .

    Budu mit treba v databazi seznam souboru treba soubor.txt , soubor2.txt , soubor.jpg atd ...

    Chtel bych z tohoto pole hledat soubory na disku a pripadne s nima dal pracovat .

    Napadl me for s countem pro pole , nebo foreach .

    V mem prikladu zpracuje jen prvni slovo v poly .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

    Řešení dotazu:


    Odpovědi

    3.8.2011 19:13 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Nějak nerozumím dotazu. Máš ten seznam souborů v databázi, v poli, v poly nebo v adresáři? Asi jsi zapomněl ten příklad přiložit, protože pokud máš názvy v poli, foreach to zvládne.

    BTW: Tady můžeš klidně psát česky, server to zvládne a dotaz buje možná srozumitelnější. Dokonce ani nemusíš dělat mezery před interpunkcí a dělat pro každou větu samostatný odstavec.
    Řešení 2× (petka (tazatel), l0gik)
    3.8.2011 21:03 romanov | skóre: 3
    Rozbalit Rozbalit vše Re: php array file_exists
    mno esli spravne chapu tvy zadani, tak je to easy:
    $pole = array( "nazev_1", "nazev_2", "nazev_n");
    foreach( $pole as $nazev ) {
         if( file_exists( $nazev ) ){
              // blok prikazu
         } else {
              echo "soubor neexistuje";
         }
    }
    
    petka avatar 4.8.2011 12:12 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Tak prikladam kod .

    /* funkce na ovladani sym linku */
    function share_action ($id,$genre,$name,$total,$from,$by,$sort,$year)
    {
    $exp_name = str_replace(" ","_",(trim($name)));
    $array_genre = explode(",", $genre );


    for($i = 0; $i < count($array_genre); $i++)
    {
    $video_link = "/mnt/disk01/sym_link_movies/".dir_file_name($array_genre[$i])."/".dir_file_name($exp_name)."_".$year."/video.avi";

    $array_disc = array("/mnt/disk01/id_movies/", "/mnt/disk02/id_movies/" , "/mnt/disk03/id_movies/");
    for($d = 0; $d < count ($array_disc); $d++)
    {

    if (file_exists($array_disc[$d].$id.".avi"))
    {       

    if (file_exists($video_link))
    {$img = "<a href=\"/movies/share_movie.php?razeni=".$sort."&id=".$id."&share=off&celkem=".$total."&od=".$from."&by=".$by. "\"><img src=\"/movies/img/off.png\"></a>";}
    else
    {$img = "<a href=\"/movies/share_movie.php?razeni=".$sort."&id=".$id."&share=on&celkem=".$total."&od=".$from."&by=".$by."\"><img src=\"/movies/img/on.png\"></a>";}
    return $img;
    }       
    else

    {$img = "<img src=\"/movies/img/warning.png\">";}
    return $img;

    }//konec for pro diskova pole
    }//konec for pro genre
    }//konec funkce

    /* konec funkce */


    Funkce probehne v poradku , ale zkontroluje jen prvni misto v poly disc , na dalsi kasle .

    Zkousel jsem i  foreach , ale bohuzel se stejnym vysledkem .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 13:03 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Máš chybně definovanou hodnotu proměnné $video_link. Patří dovnitř cyklu. Pokud bys používal foreach, tak bys na to možná přišel sám.
    petka avatar 4.8.2011 14:49 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    $video_link je v poradku , me jde o $array_disc , projede jen prvni z pole a dalsi se uz netestujou .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 15:15 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    No jo, víš o tom, že tam máš 2x return $img; uvnitř cyklu?
    petka avatar 4.8.2011 15:24 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Jsou tam dve podminky , pro kazdou jeden return , v pripade ze jeden zakazu , tak uz to nefunguje jak ma .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 15:33 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Řekl bych, že druhý return má být uvnitř druhého else. Takto se provede vždy po prvním průchodu cyklem.
    4.8.2011 15:46 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Mělo být: return až za koncem for pro disková pole. Tím pádem je druhý else zbytečný.
    4.8.2011 15:57 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    A pokud chceš projít všechny žánry, tak ještě o řádek níž.

    Tohle je typický případ, kdy je lepší for nahradit konstrukcí foreach. Zmizí proměnné $i a $d. Zmizí i funkce count(). Skript se tím hodně zpřehlední.
    petka avatar 4.8.2011 15:58 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Nejdriv se testuje jestli existuje soubor na disku , v pripade ze ne vrati varovani a v pripade ze soubor existuje tak zkontroluje jestli uz nejsou symbolicke linky hotove , v pripade ze ano tak mi zdeli ze uz je hotovo , v pripade ze ne tak mi nabidne jejich vytvoreni .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 16:08 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Jenže ty otestuješ, jestli je soubor na disku a hned na konci prvního běhu cyklu dáváš nepodmíněný return - je mimo větev else.
    petka avatar 4.8.2011 17:46 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Dik mrknu na to , dost se v tom uz ztracim .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 18:01 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Hodně by tomu pomohlo, kdyby ses naučil odsazovat. Je několik způsobů, každý z nich má své výhody a nevýhody. Mají však společnou výhodu, že chyby se v nich hledají mnohem lépe. Abych tvůj problém pochopil, musel jsem si to celé přeformátovat. Výsledek má sice jen 19 řádek, ale je pro mne mnohem srozumitelnější a vidím v něm další logické chyby.

    Takže si zaveď nějakou kulturu psaní zdrojáku a drž se jí. A nauč se před tečkou a čárkou nedělat mezeru, vypadá to děsně. Absenci nabodeníček už snad nějak překousnu.
    petka avatar 4.8.2011 18:32 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Funguje , ja vim je to sprasene , ale me jde hlavne ted o funkcnost , az to bude hotove tak zacnu cistit , komentovat atd...

    /* funkce na ovladani sym linku */
    function share_action ($id,$genre,$name,$total,$from,$by,$sort,$year)
    {
    $exp_name = str_replace(" ","_",(trim($name)));
    $array_genre = explode(",", $genre );
    $array_disc = array("/mnt/disk01/id_movies/", "/mnt/disk02/id_movies/" , "/mnt/disk03/id_movies/");

    for($d = 0; $d < count($array_disc); $d++)
    {
    $disc = ($array_disc[$d].$id.".avi");
    if (file_exists($disc))
    {

    for($i = 0; $i < count($array_genre); $i++)
    {
    $video_link = "/mnt/disk01/sym_link_movies/".dir_file_name($array_genre[$i])."/".dir_file_name($exp_name)."_".$year."/video.avi";


    if (file_exists($video_link))
    {$img = "<a href=\"/movies/share_movie.php?disc=".$disc."&razeni=".$sort."&id=".$id."&share=off&celkem=".$total."&od=".$from."&by=".$by. "\"><img src=\"/movies/img/off.png\"></a>";}
    else
    {$img = "<a href=\"/movies/share_movie.php?disc=".$disc."&razeni=".$sort."&id=".$id."&share=on&celkem=".$total."&od=".$from."&by=".$by."\"><img src=\"/movies/img/on.png\"></a>";}
    return $img;
    }//konec for pro genre
    }

    }

    if (!file_exists($disc))
    {
    {$img = "<img src=\"/movies/img/warning.png\">";}
    return $img;
    }


    }//konec funkce


    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 19:08 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Tak teď to vypadá opravdu příšerně. Vůbec se nedivím, že se v tom nemůžeš vyznat, když máš i komentáře špatně. Hlavně se nauč odsazovat a cykly typu foreach. A taky používat interpunkci. Vůbec nečteš, co píšu.
    petka avatar 4.8.2011 20:59 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php array file_exists

    Muj olibeny editor je vim , vse krasne zabarvuje . Po vlozeni kodu sem na abicko se rozpadne formatovani .

    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    4.8.2011 21:14 Kit
    Rozbalit Rozbalit vše Re: php array file_exists
    Také používám VIM, ale při přetahování sem problémy nemám. Ani mi nevkládá ty příšerné mezery před čárky.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.