Arhiva pentru tagul “PHP”

Ce poţi face cu PHP şi cURL

Dacă vă amintiţi, în 2009 am scris două articole în care foloseam PHP şi cURL: PHP: Cum luăm conţinut de pe web? şi respectiv Obţinerea scurtăturilor cu PHP. De-a lungul timpului am tot avut nevoie de cURL pentru diferite proiecte… şi cred că la fel oricine programează des cu PHP. Ei bine, acestui public i se adresează un articol apărut astăzi la “pisica ce scrie cod”: Amazing things to do with PHP and cURL. Unele aplicări sunt destul de banale, dar altele sunt neaşteptate. Dar hai să pun lista codurilor puse la dispoziţie de articol:

  • cum să verifici dacă un sit merge la un moment dat (adică să nu fie “picat”)
  • cum să foloseşti cURL acolo unde hostingul a tăiat file_get_contents() – hehe… unii taie tocmai cURL()
  • cum să preiei ultima postare de pe …

O listă lungă de framework-uri PHP

Folosirea unui framework PHP este pe lista mea de aşteptare. Tot îmi spun: “cândva trebuie să încerc aceasta!!!” Mai ales că unii prieteni îmi tot explică cum prinzi aripi cu un astfel de framework, cât de uşoară îţi devine munca. Din păcate experienţa mea la acest capitol este zero, dar cu câteva găleţi de timp liber s-ar rezolva. Să le găsesc… Dincolo de aceasta, poate alţii stau mai bine cu timpul liber şi ar dori să investească în aşa ceva. Un punct de pornire este excelenta selecţie A Comprehensive List of PHP Frameworks.

imagine imagine

Din …


Afişarea faviconurilor cu ajutorul Google

Dacă scrieţi o webaplicaţie în cadrul căreia afişaţi mai multe legături s-ar putea să vă intereseze să afişaţi şi faviconurile lor, ca să nu fie doar text ci şi imagine. Desigur, dacă respectivele situri au chiar în rădăcină fişierul favicon.ico e uşor. O altă soluţie e săparea în sursă (cu un curl iei conţinutul) pentru a căuta calea exactă spre favicon. Sau… sau ne folosim de Google care are o cale ce ne permite uşor să ajungem la favicon. Iată calea:

http://www.google.com/s2/u/0/favicons?domain=www.cnet.ro

Evident, în loc de www.cnet.ro poate fi orice altă adresă, dar important e să fie doar domeniul, fără protocol (http://). Deschideţi linkul de mai sus şi schimbaţi domeniul. Iată şi un mic cod demonstrativ.

[PHP]function faviconul($url){
echo "<a href=’http://$url’ alt=’$url’ title=’$url’>";
echo "<img src=http://www.google.com/s2/u/0/favicons?domain=$url ";
echo "width=16 height=16 border=0 hspace=5 vspace=5></a>";
}

faviconul(‘www.cnet.ro’);
faviconul(‘www.catholica.ro’);
faviconul(‘www.profamilia.ro’);
faviconul(‘www.techcrunch.com’);
faviconul(‘www.lifehacker.com’);
faviconul(‘www.hotnews.ro’);
faviconul(‘www.realitatea.net’);[/PHP]

Ce se generează vedeţi mai jos, unde pagina e inclusă …


Fie url-urile drăguţe cu .htaccess

Într-un articol de săptămâna trecută am vorbit despre o forţare, astfel ca să fie Slash la final de adresă web. Răzvan a cerut un exemplu concret şi îl dau acum, cu ceva întârziere. Ca să fie uşor de înţeles l-am făcut foarte simplu, adică destul de stupid dar totuşi didactic. Exemplul poate fi văzut şi testat la următoarea adresă http://www.cnet.ro/wp-content/uploads/php/demourl/, director în care sunt două fişiere .htaccess şi index.php. Pagina PHP afişează conţinutul după cum sunt doi parametri: sectiune şi optiune. Dar aceşti parametrii nu se văd în URL!!! Da!

Ar putea fi folosiţi în modul clasic. Testaţi următoarele linkuri şi veţi vedea că dau acelaşi lucru:

http://www.cnet.ro/wp-content/uploads/php/demourl/contact/adresa/
http://www.cnet.ro/wp-content/uploads/php/demourl/index.php?sectiune=contact&optiune=adresa

Evident că primul arată mai frumos decât al doilea. Cum se face? Descărcaţi arhiva cu cele două fişiere şi studiaţi. Evident, pe orice alt server le puneţi, codul trebuie puţin adaptat. În principiu e vorba de …


Folosirea API-ului pentru goo.gl

Ştiu că nu e un subiect tocmai proaspăt. La 11 ianuarie venea anunţul că Google URL Shortener gets an API. M-am jucat atunci cu acel API dar uite că nu am finalizat. Acum mi-am amintit de subiect văzându-l tratat cu profesionalism de David Walsh, aici, care a scris o minunată şi mică clasă pentru a opera cu goo.gl. Dar ce e al lui e al lui, eu pun mai jos codul meu. Al meu l-aş numi didactic, al lui numai bun de integrat în proiecte (mai ales dacă vă place să lucraţi cu obiecte şi clase).

Fără să o mai lungesc vă invit să vedeţi aici documentaţia, în continuare codul (care „face” şi „desface” ur-uri cu goo.gl), iar la final demonstraţia live.

[PHP]function ia_continutul($apiurl,$url,$scurt) {
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$apiurl.($scurt?’&shortUrl=http://’.$url:”));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
if(!$scurt){
curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode(array(‘longUrl’=>$url)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
}
$data = curl_exec($ch);


PHP Obfuscator

Am aflat via SnapFiles de un program care ar putea să fie util celor care doresc să îşi ascundă – nu la modul perfect – codul PHP. Evident, din navigator o persoană nu poate vedea codul PHP al unei pagini, decât cel HTML. Dar dacă faci codul public, iar anumite secţiuni ai vrea să ţi le protejezi, nu prea ai căi decât să îl “ameţeşti” ca să enervezi eventualul “cititor”. E deci o încercare de dezarmare… psihică, dar adesea merge. Există diverse instrumente pentru “obsfuscarea” codului, unele comerciale, altele gratuite, iar PHP Obfuscator intră în această ultimă categorie.

imagine

De folosit e simplu: indici o cale unde ai fişierele PHP, le selectezi pe cele dorite, şi indici directorul …


PHP: parcurgerea unui director

Am scris zilele trecute cum se poate face backup şi restore MySQL cu PHP. E un subiect mai tehnic şi de aceea m-am bucurat că totuşi a generat ceva interes. Mascka îmi sugera acolo să pun şi “scriptul de sortare cronologică a backup-urilor”, şi mă conformez sugestiei. În fapt e vorba de un simplu script de parcurgere a unui director, dat fiind că m-am asigurat că numele backup-urilor includ data şi ora în aşa fel încât, sortate descrescător, dau exact lista necesară, cu cel mai recent backup în vârf.

imagine

Iată codul PHP:

// calea spre directorul unde tinem backup-urile
$d = dir("direct/orul/pent/rubac/kup");
// vom pune fisierele intr-un array
$fisiere=array();
while (false!== ($file = $d->read())){
// …


PHP: află prin email despre erori

Astăzi am citit pe NetTuts un articol care m-a entuziasmat: Quick Tip: Email Error Logs with PHP. Mi-am permis să preiau de acolo codul doar pentru a-l… „româniza”, ca variabile şi comentarii, pentru cei care ar avea nevoie de aşa ceva. Despre ce este concret vorba? Scrieţi o webaplicaţie în PHP şi… hopa… mai generează şi erori din când în când. Nu aţi vrea să fiţi primul care află? Se poate. Tot ce trebuie este să punem propria noastră funcţie la „tratarea” erorilor. Iar în funcţia noastră vom folosi funcţia error_log care în mod normal (adică doar cu primul parametru) pune eroarea în logul sistem al PHP, dar dacă la al doilea parametru punem 1… poate trimite informaţii despre eroare prin email!

Cool! Iată deci codul puţin adaptat. Dvs mai departe tot aveţi de făcut unele lucruri. De exemplu să stabiliţi ce se întâmpla la eroare. Mai jos, dacă …


Backup şi restore MySQL cu PHP

O webaplicaţie realizată de mine, la care, ca administrator, lucram doar eu – alţii doar la “exploatare”, în front-end -, va fi acum replicată şi pentru alţii. M-am trezit astfel în postura că multe lucruri a trebuit să le rescriu cu gândul că cei ce vor folosi această webaplicaţie nu se pricep neapărat (de fapt unii chiar deloc) la MySQL. Dacă pentru mine e simplu de exemplu din HeidiSQL (mamă! nu mă satur de el, e extraordinar), sau chiar din phpMyAdmin să fac copii de siguranţă şi să le import în altă parte, pentru alţii ar fi chineză.

imagine

Drept urmare am săpat pe net şi am dat de exact scripturile necesare. Mai întâi o precizare – sunt …


phpDesigner: excelent, excelent, excelent

Ştiu că fiecare are editorul lui favorit pentru programare sau pagini web. Pe la începuturi (să fie vreo 15 ani de atunci) eu lucram cu HomeSite, înainte să fie cumpărat de Adobe. Apoi mulţi, mulţi ani favoritul meu a fost HTML-Kit – versiunea freeware a rămas blocată în trecut din păcate. Apoi am descoperit Notepad++ pe care şi astăzi îl folosesc intens, în special pentru mici modificări. Am descoperit recent Komodo Edit (am scris de mai multe ori: primul articol şi cel mai recent). Din păcate se lansează greoi, dar apoi este foarte bun!

imagine

De dragul experimentului de săptămâna trecută lucrez doar în phpDesigner şi îl găsesc a fi extraordinar. Din păcate e …