Jump to content
php.lv forumi

crmind

Reģistrētie lietotāji
  • Posts

    22
  • Joined

  • Last visited

Posts posted by crmind

  1. var arī rupji bez pārbaudīšanas vai masīvā tāds ir, vnk

    $z = min(count($size['width']), count($size['height']));
    $r = array();
    for($i=0;$i<$z;$i++) {
     $r[$size['width'][$i].'x'.$size['height'][$i]] = array($size['width'][$i],$size['height'][$i]);
    }
    print_r($r);

     

    Interesants variants, definēt/pārdefinēt mainīgo noteikti ir arī fiksāk nekā katrā ciklā if izmantot..

  2. Šāds variants neder?

     

    $out = array_combine($size['width'], $size['height']);

    $sizes = array_unique($out);

     

    upd, vajag, laikam otrādi... vispirms unique un tad combine...

     

    Nē, tapēc ka pēc array_combine $size['width'] ir masīva atslēga un $size['height'] vērtība, bet array_unique izvelk tik unikālās masīva vērtības. Otrādāk ar nekas labs nesanāk.

  3. Nevis vienādos, bet unikālos izmērus, pareizi?

    Ja tā, tad ej ciklā cauri un liec atrastos izmērus jaunā masīvā, pirms tam pārbaudod vai tie tur jau nav ielikti. Beigās arī dabūsi masīvu ar unikālajiem izmēriem.

     

    Paldies, derēs šis variants.

  4. Ir aptuveni šāds masīvs:

     

    $size = array(
       "width"=>array(
           0=>123,
           1=>456,
           2=>789,
           3=>123,
           4=>456,
           5=>789
       ),
       "height"=>array(
           0=>456,
           1=>123,
           2=>987,
           3=>456,
           4=>654,
           5=>987
       )
    );

     

    Tātad $size[width][x] ir saistīts ar $size[height][x].

    Nepieciešams no šāda masīva izvilkt vienādos izmērus, attiecīgi: 123x456,456x123,789x987,456x654.

     

    Kāds būtu (efektīvākais) veids lai to panāktu?

  5. Pieļauju, ka tev viņš vnk neatrod to ffmpeg.

     

    Un tad pastāv divi varianti:

     

    1.vai nu ar windows globāli PATH norādi direktoriju kurā tev atrodas ffmpeg.exe

    2.vai arī pirms exec izpildīšanas nomaini aktīvo direktoriju ar chdir() uz to, kur atrodas ffmpeg.exe

  6. Varbūt kāds varētu palīdzēt ar funkciju izveidi, kas pārveidotu piemēram "Šeit ir kautkāds virsraksts" uz "seit-ir-kautkads-virsraksts". Saprotu, ka jāizmanto ereg_replace, bet tā kā ar regexp'iem neesmu labos draugos, lūdzu palīdzēt.

     

    Tas viss protams nepieciešams lai veidotu smukas meklētājiem draudzīgas adreses ar mod_rewrite.

  7. Nu vismaz kautkāds progress. Ar pavisam vienkāršām komandām iekš .bat un viss aizgāja kā nākas.

     

    cd C:\ffmpeg
    ffmpeg.exe -sameq -i %1 -acodec libmp3lame -ab 96k -ar 11025 -vhook "vhook\imlib2.dll -x 0 -y 0 -i logo.png" %2
    quit

     

    Tad gan es iedomājos..vai ir iespējams caur to pašu exec izpildīt divas komandas pēc kārtas - sākumā norādīt to uz c:\ffmpeg un tik tad palaist pašu ffmpeg.exe?

  8. Delfins variants samest .dll iekš winroot palīdzēja ffmpeg atrast imlib2.dll, tagad gan savukārt tas met āra, ka tas neatrod logo.png:

     

    Couldn't load image 'logo.png'
    Failed to Configure imlib2.dll
    Failed to add video hook function: imlib2.dll -x 0 -y 0 -i logo.png

    Izmēģināju to samest dažādās vietās un adresēt dažādi, bet nekā.

     

    Es gan īsti nesapratu kāpēc man būtu jānorāda globālis PATH.

     

    Arī "allow interact with desktop" nelīdzēja.

  9. Ir mēģināts arī tā, bet nez kāpēc ffmpeg to neatrod.

     

    Piepildīšu, ka ja šo pašu komandu (c:/ffmpeg/ffmpeg.exe input.ext -vhook "c:/ffmpeg/vhook/imlib2.dll" output.ext) palaiž no servera cmd, tad viņš atrod, bet ja caur exec iekš php, tad nekā.

  10. Lieta tāda, pats ffmpeg ir uzstādīts un strādā bez problēmām neskatoties kā es exec'ā to adresēju (absolūti vai relatīvi), grūtības sākās līdz radās nepieciešamība tam pievienot papildus vhook moduli, to savukārt nekādīgi nesanāk korekti adresēt, un attiecīgi programma izmet erroru, un neturpina savu darbu.

     

    Uz doto brīdi, vienīgais strādājošais risinājums ir šāds:

    $encode_cmd = 'ffmpeg.exe -sameq -i ' . $uploadFile . ' -acodec libmp3lame -ab 96k -ar 11025 -vhook "vhook/imlib2.dll -x 0 -y 0 -i logo.png" ' . $finalFile;
    exec( $encode_cmd );

    Bet tādā gadijumā ffmpeg un visiem tā kodekiem un moduļiem ir jāstāv vienā folderī ar šo php, ko nebūt nevēlos, vēlos lai stāvētu kkur ārpus wwwroot foldera, kaut vai c:/ffmpeg. Kā jau minēju iepriekš, problēma rodas tikai tad, kad mēģinu piestripināt šo papildus imlib2.dll moduli. Tātad, jautājums ir šāds, kā man korekti adresēt šo imlib2.dll iekš exec, lai ffmpeg to atrastu un neizmestu erroru?

×
×
  • Create New...