Txt Dosyasını Veritabanı Olarak Kullanmak

PHP
50 lines
<?php
// Verileri okuyan ve şifresini çözen fonksiyon
function oku($fileName, $secretKey, $encryptionMethod)
{
$fileContent = file_get_contents($fileName);
$fileData = json_decode($fileContent, true);
$iv = base64_decode($fileData['iv']);
$decryptedData = openssl_decrypt(base64_decode($fileData['data']), $encryptionMethod, $secretKey, 0, $iv);
return json_decode($decryptedData, true);
}
// Verileri yazan ve şifreleyen fonksiyon
function yaz($fileName, $data, $secretKey, $encryptionMethod)
{
$jsonData = json_encode($data);
$ivLength = openssl_cipher_iv_length($encryptionMethod);
$iv = openssl_random_pseudo_bytes($ivLength);
$encryptedData = openssl_encrypt($jsonData, $encryptionMethod, $secretKey, 0, $iv);
$encryptedFileContent = json_encode([
'data' => base64_encode($encryptedData),
'iv' => base64_encode($iv),
]);
file_put_contents($fileName, $encryptedFileContent);
}
//VERİTABANI BAĞLANTI
$fileName = 'lisanslar.txt'; // tablo adı
$secretKey = "Alp123*_.";
$encryptionMethod = "AES-256-CBC";
//OKUMA - SELECT
$data = oku($fileName, $secretKey, $encryptionMethod);
print_r($data);
//YAZMA - INSERT
$data[] = ["name" => "Alperen", "price" => 1000];
writeData($fileName, $data, $secretKey, $encryptionMethod);
//SİLME - DELETE
$id = 0; //dizi index no
unset($data[$id]);
$data = array_values($data);
writeData($fileName, $data, $secretKey, $encryptionMethod);
//GÜNCELLEME - UPDATE
$id = 0;//güncellenecek veri id
$name= "Mehmet"; //yeni isim
$data[$id]['name'] = $name;
writeData($fileName, $data, $secretKey, $encryptionMethod);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Json API oluşturma ve kullanımı

JSON (“Javascript Object Notation”), php ilen okunabilen bir veri biçimidir. Php’de bir diziden

PHP
4 lines
<?php
$dizi=array(1=>"elma",2=>"armut");
echo json_encode($dizi);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

örneğindeki gibi json_encode ile dönüştürülerek oluşturulur.

Çıktısı aşağıdaki gibidir.

JSON
4 lines
{
1: "elma",
2: "armut"
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Genelde API (“Application Programming Interface = Uygulama Programlama Arayüzü”)ler tarafından kullanılır.

Curl ile bağlanılan adreslerde alınan bu veriler json_decode ile geri dizi haline çevrilir.

PHP
15 lines
<?php //Daha önceki verimiz
$dizi=array(1=>"elma",2=>"armut");
$API= json_encode($dizi);
//Nesne ve Çıktısı
$cikti=json_decode($API);
print_r($cikti);
//stdClass Object ( [1] => elma [2] => armut )
//Dizi ve Çıktısı
$cikti=json_decode($API,true);
print_r($cikti);
//Array ( [1] => elma [2] => armut )
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Mesela İstatistik API ile ilgili bir örnek verelim

PHP
22 lines
<?php
header('Content-Type: text/html; charset=utf-8');
function PhpStatistics(){
$list=array("HTTP_HOST","REQUEST_URI","HTTP_CLIENT_IP","REMOTE_ADDR","HTTP_USER_AGENT","HTTP_ACCEPT_LANGUAGE");
foreach($list as $l){$data[$l]=$_SERVER[$l];}
$data=json_encode($data);
$ch = curl_init();
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible;)");
curl_setopt($ch,CURLOPT_URL,"http://phpstate.ulusanyazilim.com/developer/userinfo/api.php?".http_build_query(array('data'=>$data)));
return curl_exec($ch);
}
$json=PhpStatistics();
$dizi=json_decode($json);
print_r($dizi);
echo $tarayici=$dizi["agent_name"]."<br>";
echo $ip_adresi=$dizi["http_client_ip"];
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Youtube Oembed JSON API

PHP
22 lines
<?php
$url = "http://www.youtube.com/watch?v=CvBfHwUxHIk";//burası değişken
$oembedurlcreate = "http://www.youtube.com/oembed?url=".$url."&format=json";
$curl = curl_init($oembedurlcreate);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$html=curl_exec($curl);
curl_close($curl);
$result = json_decode($html, true);
echo $result["thumbnail_url"]."<br>";//http://i.ytimg.com/vi/CvBfHwUxHIk/hqdefault.jpg
echo $result["provider_url"]."<br>";//http://www.youtube.com/
echo $result["thumbnail_height"]."<br>";//360
echo $result["type"]."<br>";//video
echo $result["provider_name"]."<br>";//YouTube
echo $result["version"]."<br>";// 1.0
echo $result["html"]."<br>";//html5 video oynacıtıcını görüntüler
echo $result["author_name"]."<br>";//RihannaVEVO
echo $result["width"]."<br>";//459
echo $result["title"]."<br>";//Rihanna - Umbrella (Orange Version) ft. JAY-Z
echo $result["height"]."<br>";//344
echo $result["thumbnail_width"]."<br>";//480
echo $result["author_url"]."<br>";//http://www.youtube.com/user/RihannaVEVO
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX