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í
×
dnes 11:00 | Komunita

Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už zítra 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.

xkucf03 | Komentářů: 0
včera 21:55 | Komunita

Nadace pro svobodný software (FSF) oznámila aktualizaci seznamu prioritních oblastí (changelog), na které by se měli vývojáři a příznivci svobodného softwaru zaměřit. Jsou to například svobodný operační systém pro chytré telefony, hlasová a video komunikace nebo softwarový inteligentní osobní asistent.

Ladislav Hagara | Komentářů: 5
včera 16:44 | Nová verze

Byla vydána verze 2.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Komunita

V australském Hobartu probíhá tento týden konference linux.conf.au 2017. Na programu je celá řada zajímavých přednášek. Sledovat je lze online.

Ladislav Hagara | Komentářů: 0
včera 10:20 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje bitmapovým (rastrovým) grafickým editorům ve Fedoře. V prvním dílu se věnuje editorům MyPaint, MtPaint, Pinta, XPaint, Krita a GIMP. V pokračování pak editorům GNU Paint (gpaint), GrafX2, KolourPaint, KIconEdit a Tux Paint.

Ladislav Hagara | Komentářů: 1
16.1. 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
16.1. 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 2
16.1. 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 7
15.1. 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
15.1. 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 10
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (3%)
 (74%)
 (3%)
 (10%)
Celkem 313 hlasů
 Komentářů: 24, poslední včera 10:14
    Rozcestník
    Reklama

    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: 395×

    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.