Se afișează postările cu eticheta PHP. Afișați toate postările
Se afișează postările cu eticheta PHP. Afișați toate postările

sâmbătă, martie 27, 2010

Cum aflam inaltimea/altitudinea fata de nivelul marii avind longitudine si latitudinea

Va propun urmatorul web service http://www.earthtools.org/webservices.htm#height

Mai departe va propun o functie in php care intoarce altitudinea pentru latitudinea si longitudinea ca parametri de intrare:


function getElevation($lat=0,$lng=0){
$lines = file('http://www.earthtools.org/height/'.$lat.'/'.$lng);
return trim(str_replace("","",str_replace("","",$lines[7])));
}

luni, iulie 20, 2009

Cum sa creezi/generezi fisiere PDF in PHP

Pentru a crea/genera fisiere PDF in PHP va propun sa folositi libraria FPDF, destul de simplu si rapid.

Mai jos va propun un exemplu de raport.


require_once "libs/fpdf.php";

class PDF extends FPDF {

function Header(){
//Logo
//$this->Image('images/generic/logo.jpg',10,8,120);
$this->SetFont('Arial','B',14);
$this->Cell(180,6,"Exemplu de PDF generat in PHP",'',0,'C');
$this->Ln(20);
}

function Footer(){
$this->Ln();
$this->Cell(180,10,'Copyright 2009 doni.md','T',0,'R');
}
}

$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',10);

//Address table
$cellwidth=45;
$cellhight=6;
$pdf->SetFillColor(100,100,100);
$pdf->Cell($cellwidth,$cellhight,"Name",'LTRB',0,'C',true);
$pdf->Cell($cellwidth,$cellhight,"Family",'LTRB',0,'C',true);
$pdf->Cell($cellwidth,$cellhight,"Job",'LTRB',0,'C',true);
$pdf->Cell($cellwidth,$cellhight,"Salary",'LTRB',0,'C',true);
$pdf->Ln();

$i=0;
$t=0;
$pdf->SetFont('Arial','',10);
While ($i<=10){
$pdf->Cell($cellwidth,$cellhight,"Name ".$i,'LTRB',0,'L');
$pdf->Cell($cellwidth,$cellhight,"Family ".$i,'LTRB',0,'L');
$pdf->Cell($cellwidth,$cellhight,"Job ".$i,'LTRB',0,'L');
$pdf->Cell($cellwidth,$cellhight,($i+1)*10,'LTRB',0,'R');
$pdf->Ln();
$i=$i+1;
$t=$t+($i+1)*10;
}
$pdf->SetFillColor(100,100,100);
$pdf->Cell($cellwidth*3,$cellhight,"Total",'LTRB',0,'L',true);
$pdf->Cell($cellwidth,$cellhight,$t,'LTRB',0,'R',true);
$pdf->Ln();

$pdf->Output();

?>

Pe linkul de mai jos vedeti cum arata pdf-ul generat de codul de mai sus. http://docs.google.com/fileview?id=0B_jArcAJt10FNzRhYTcyN2EtZmIzZC00MjQ2LWFmYjgtZDNjMGZmMGI1MGEx&hl=ro

joi, iulie 16, 2009

Cum in PHP sa citim primul item(post) din Atom Feed

Mai jos va prezint un exemplu cum in PHP sa citesti primul item(post) al Atom feed, un exemplu de Atom feed vedeti aici http://donimd.blogspot.com/feeds/posts/default

$url="http://donimd.blogspot.com/feeds/posts/default";

$doc = new DOMDocument();
$doc->load($url);

$entries = $doc->getElementsByTagName("entry");

$tnl = $entries->item(0)->getElementsByTagName("title");

$tnl = $tnl->item(0);
$title = $tnl->firstChild->data;

$tnl = $entries->item(0)->getElementsByTagName("content");
$tnl = $tnl->item(0);
$description = $tnl->firstChild->data;

$tnl = $entries->item(0)->getElementsByTagName("link");
$tnl = $tnl->item(4);
$link = $tnl->getAttribute("href");

echo $title;
echo $link;
echo $description;

De fapt pe pagina doni.md este acest cod care si citeste primul post de pe
http://donimd.blogspot.com/feeds/posts/default


vineri, octombrie 03, 2008

O metoda de a migra datele din Mysql Latin1 in Mysql utf8

Scriptul tabelelor latin1 si utf8:
--
-- Structura de tabel pentru tabelul `latin1`
--
CREATE TABLE IF NOT EXISTS `latin1` (
`id` int(10) unsigned NOT NULL auto_increment,
`n` varchar(45) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;

-- --------------------------------------------------------

--
-- Structura de tabel pentru tabelul `utf8`
--

CREATE TABLE IF NOT EXISTS `utf8` (
`id` int(10) unsigned NOT NULL auto_increment,
`n` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=48 ;


Scriptul PHP de migrare a datelor:

<?php
header('Content-type: text/html; charset="utf-8"');
$link=mysql_connect (server, user, pass);
mysql_select_db (database);

$charset1 = mysql_client_encoding($link);

mysql_query("SET CHARACTER SET utf8", $link);
mysql_query("SET NAMES 'utf8'", $link);

$charset2 = mysql_client_encoding($link);

//test posting

if ($_POST["name"]){
$n=$_POST["name"];
$s="insert into latin1(n) values('".$n."')";
mysql_query("SET NAMES 'latin1'");
mysql_query($s);
$s="insert into utf8(n) values('".$n."')";
mysql_query("SET NAMES 'utf8'");
mysql_query($s);
}
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">";
echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";

echo "<head>\n";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n";
echo "</head>\n";
echo "<body>\n";
echo "<form method=\"post\" name=\"form\" action=\"utf8.php\">\n";
echo "<input type=text name=name>";
echo "<input type=submit>";
echo "</form>";
echo "<table border=1>";
echo "Setul de caractere pina la SET CHARSET este: $charset1<br>";
echo "Setul de caractere dupa SET CHARSET este: $charset2<br>";

echo "<table border=1>\n";
$s="select * from latin1";
mysql_query("SET NAMES 'latin1'");
$r=mysql_query($s);
while ($row=mysql_fetch_assoc($r)){
echo "<tr><td>".$row["n"]."</td></tr>";
$s="insert into utf8(n) values('".$row["n"]."')";
mysql_query("SET NAMES 'utf8'");
mysql_query($s);
}
echo "</table>";

echo "</body>\n";
echo "</html>\n";
?>

joi, septembrie 25, 2008

Problema Diacriticilor sau cum sa Internationalizam site-urile in php

Des întălnesc site-uri unde exista problemă de afișare a diacriticilor Ă,Î,Ș,Ț,Â. Sau probleme în afișarea a diferitor limibi in paralel pe aceași pagină web.

În continuare va propun o soluție la aceasta problema pentru site-uri scrise in php care folosesc MySQL ca baza de date pentru a stoca informatia de pe site.

Este necesar ca:
SERVER Connection Collation sa fie egal cu utf8_general_ci (vezi in setari la server)
DATABASE CHARACTER SET sa fie egal cu UTF8
Database Collation sa fie egala cu utf8_general_ci

Vezi mai jos schema bazei de date

--
-- Baza de date: `dbtest`
--
CREATE DATABASE `dbtest` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

USE `dbtest`;
--
-- Structura de tabel pentru tabelul `tbtest`
--
CREATE TABLE IF NOT EXISTS `tbtest`
( `id` int(11) NOT NULL,
`text` varchar(1000) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Pentru afisarea datelor din baza de date in pagina php ne conducem dupa exemplul urmator:

<?php
header('Content-type: text/html; charset="utf-8"');
$link=mysql_connect (server, user, pass);
mysql_select_db(dbtest);

$charset = mysql_client_encoding($link);
mysql_query("SET CHARACTER SET 'utf8'", $link);


echo "<html>\n";
echo "<head>\n";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n";
echo "</head>\n";
echo "<body>\n";
echo "Setul de caractere curent este: $charset\n";

$sql = "select * from tbtest";
$result = mysql_query($sql);

while ($row = mysql_fetch_assoc($result)) {
echo $row["text"]."<br>\n";
}

echo "</body>\n";
echo "</html>\n";
?>

Membri

Comentarii