Archiwum kategorii: WWW

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');

Mod_rewrite i kod 301 – przenoszenie witryny

Kiedyś zajmowałem się tylko Linuksem (i jestem cały czas właścicielem domeny linuxexpert.pl), teraz zajmuje się AIX-em (i prowadziłem blog na unix4you.net) czyli zostaje w świecie Uniksa ale nie koniecznie Linuksa. Postanowiłem 2 serwisy połączyć w jeden, tylko jak o tym poinformować google i innych odwiedzających? Cóż, należy użyć przekierowania i zwrócić kod 301 (http://en.wikipedia.org/wiki/HTTP_301):

RewriteRule ^(.*)$ http://www.unix4you.net [R=301,L]

I od tej chwili, wszyscy trafiają tylko na nową stronę 😉

Mod_rewrite – ignorowanie reguł dla jednego pliku

Mod_rewrite to ciekawy moduł pozwalający podmieniać linki w naszym serwisie. Np. na starym linuxexpert.pl, serwisie napisanym w PHP, linki postacji cos.html były zamienianie na index.php?site=cos. Niestety, gdy chciałem przejść weryfikacje google, okazało się, że także nazwa pliku weryfikującego też była przepisywana! Jak więc zignorować reguły dla pojedyńczego pliku?

RewriteRule ^google12b726ea1cbc2a03.html$  - [L]

I od tej pory ten plik jest pokazywany bez żadnych problemów. Ten „-” informuje, że nie ma żadnych parametrów.

httpd_gargoyle: prosty serwer WWW

Program httpd_gargoyle to prosty serwerek WWW dołączany do oprogramowania gargoyle wywodzącego się z OpenWRT. Nie obsługuje PHP, CGI itp. Nie posiada on swojej strony man ale wszystko wyjaśnia opcja –help:

root@lokaj:/tmp$ /usr/sbin/httpd_gargoyle --help
usage:  /usr/sbin/httpd_gargoyle [-C configfile] [-D] [-S use ssl, if no ssl port is specified all connections will be SSL ] [-E certfile] [-SP ssl port ] [-Y cipher] [-p port ] [-d dir] [-dd data_dir] [-c cgipat] [-u user] [-h hostname] [-r] [-v] [-l logfile] [-i pidfile] [-T charset] [-P P3P] [-M maxage] [-DRN default realm name ] [-DRP default realm password file] [-DPF default page file] [-PNF Page to load when 404 Not Found error occurs]

Pliki konfiguracyjne projektu w PHP

No więc zwyczajowo robiłem tak: tworzyłem plik php z danymi konfiguracyjnymi i jak chyba każdy dołączałem go przez require_once do projektu. Ostatnio postanowiłem potworzyć dodatki także w Perlu i pojawił się problem, musiałem tworzyć osobny plik konfiguracyjny dla Perla. Mała przenoszalność tutaj. Postanowiłem więc zmienić formę pliku konfiguracyjnego na ini. I Perl szczęśliwy i PHP potrafi to odczytać ;).