PHP: curl oraz logowanie przez login i hasło

W moim projekcie musiałem uzyć curl oraz logowanie przez login i hasło (w przeciwnym wypadku wystarczyło by użycie fopen). Wobec tego użyłem kodu podobnego do tego poniżej:

  protected function UseCurl($url) {

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERPWD, "$this->username:$this->password");
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        $output = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);

        return $output;

  }

Proszę zwrócić uwagę na część z CURLOPT_USERPWD…

PHP i autoload klass

W nowszych wersjach PHP występuje nowa funkcja odpowiedzialna za ładowanie klass spl_autoload_register(’function_name’) w przeciwienstwie do poczciwego __autoload(). Wobec tego aby móc znowu automatycznie ładować klasy należy stworzyć kod podobny do poniższego:

function my_autoload($class_name) {

        include "lib/class/$class_name".'.class.php';
}

spl_autoload_register('my_autoload');

SVN i duże repozytorium oraz sciąganie tylko kawałka drzewa

Jeżeli chcesz pracować tylko na jakimś fragmencie drzewa zainteresuj się poniższą komendą:

svn checkout file:///var/svn/repos mom-empty --depth empty

Zwróć uwagę na –depth empty. Pozwala ona sciągnąć dane tylko konkretnego katalogu bez rekursji. Mnie to umożliwiło dodanie do drzewa projektów w svn tylko jednego nowego katalogu bez ściągania całej zawartości drzewa przy checkout…

Słuchanie e-książek – Android i Ivona

Postanowiłem dzisiaj zmusić mój tablet do czytania książek. Okazało się to wyjątkowo proste:

  1. Instalujemy syntezator mowy Ivona z sklepu google play
  2. Instalujemy głos do Ivony
  3. Zmieniamy w ustawieniach domyślny syntezator mowy
  4. Instalujemy Moon+ Reader Pro – program do czytania ebooków (płatny)

I gotowe, można słuchać książek korzystając programu Moon+ Reader Pro…

Linki:

  1. http://www.ivona.com/pl/pomoc/

OpenWRT i php date problem

Jeżeli masz problem jak poniżej:

Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /www1/php_xml/lib/Smarty-3.1.14/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 183

Fatal error: strftime(): Timezone database is corrupt - this should *never* happen! in /www1/php_xml/lib/Smarty-3.1.14/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 183

To rozwiązanie jest proste, należy doinstalować pakiety z lokalizacją daty:

#opkg install zoneinfo-core zoneinfo-europe