PHPExcel Veri Aktarmada Hücrelerin Genişliğini Otomatik Ayarlamak

Eğer PHPExcel kullanarak verilerinizi / tablonuzu excele aktarıyorsanız işinize çok yarayacak bir fonksiyon paylaşmak istiyorum.
Verileri aktardıktan sonra tek tek sütun genişliğini ayarlamak çok can sıkıcı olabiliyor bunu otomatikleştirmeye ne dersiniz?

PHPExcel auto size column width / Sütun Genişliğini otomatik olarak ayarlamak için işte kullanacağınız fonksiyon:

// Auto size columns for each worksheet
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
 
    $objPHPExcel->setActiveSheetIndex($objPHPExcel->getIndex($worksheet));
 
    $sheet = $objPHPExcel->getActiveSheet();
    $cellIterator = $sheet->getRowIterator()->current()->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(true);
    /** @var PHPExcel_Cell $cell */
    foreach ($cellIterator as $cell) {
        $sheet->getColumnDimension($cell->getColumn())->setAutoSize(true);
    }
}

PHP Parola Üretme Fonksiyonu

PHP projelerinizde kullanabileceğiniz hızlı, sade basit bir password üretme fonksiyonu

function random_password( $length = 10 ) {
    $chars = "abcABCDEFGHJKLMNPQRSTUVWXYZ0123456789!@.?_*";
    $password = substr( str_shuffle( $chars ), 0, $length );
    return $password;
}

kullanımı:

random_password(10);

örnek çıktı:

ZWFRU7bBaJ

PHP Sayı Biçimlendirme (Arasına virgül, nokta özel karakter koyma)

4 ve daha fazla haneli sayıların daha güzel görünmesi için yani 1000 yerine 1.000 yada 1,000 şeklinde görüntülemek için aşağıdaki fonksiyonu özelleştirerek kullanabilirsiniz.

function rakam($sayi) {
		$bicimlendir = number_format($sayi,0,"","."); echo $bicimlendir;
	}

Kullanımı:

echo $rakam(100258);

Çıktı

100.258

PHP Mesaj Şifreleme Fonksiyonu

Whatsapp Uçtan uca şifreli mesajlaşmanın çok konuşulduğu şu günlerde şifreli mesaj ihtiyaçlarınıza çözüm olabilecek bir yöntem paylaşmak istiyorum. Mesaj uygulamalarınızda, içerikleri veri tabanında şifreli olarak tutmak için aşağıdaki fonksiyonu kullanabilirsiniz. Veri tabanında tutacaksanız Veri tipini text olarak ayarlamakta fayda var

 
// Şifrelenecek mesaj
$mesaj= "Kod Günlüğüme Hoşgeldiniz"; 
 
// Mesajı görüntüleyelim
echo "Orjinal Mesaj: " . $mesaj; 
 
// Şifreleme metodu
$ciphering = "AES-128-CTR"; 
 
//  OpenSSl Encryption method kullanımı
$iv_length = openssl_cipher_iv_length($ciphering); 
$options = 0; 
 
// encryption yaparken kullanılacak numeric değer
$encryption_iv = '1234567891011121'; 
 
// encryption key 
$encryption_key = "KodGunlugum"; 
 
// openssl_encrypt() function kullanımı
$encryption = openssl_encrypt($mesaj, $ciphering, $encryption_key, $options, $encryption_iv); 
 
// encrypted şifreli gösterimi
echo "Şifreli Mesaj: " . $encryption . "\n"; 
 
// decryption yaparken kullanılacak numeric değer (encryption_iv ile aynı olmalıdır.)
$decryption_iv = '1234567891011121'; 
 
// decryption key  ($encryption_key ile aynı olmalıdır)
$decryption_key = "KodGunlugum"; 
 
// openssl_decrypt() function kullanımı
$decryption=openssl_decrypt ($encryption, $ciphering, $decryption_key, $options, $decryption_iv); 
 
// decrypted string (çözülmüş mesaj)
echo "Çözülmüş Mesaj: " . $decryption;

Codebird PHP search_tweets ile Tweetleri Listelerken Retweetleri Hariç Tutmak

Codebird PHP ile Tweetleri Listelemek için:

$params = array('q'=>'kodgunlugum','count'=>'200','result_type'=>'recent');

Tweetleri Listelerken RT yapılan tweetleri hariç tutmak için:

 
// içinde kodgunlugum geçen RT yapılmayan tweetleri getirir
$params = array('q'=>'kodgunlugum -filter:retweets','count'=>'200','result_type'=>'recent');
search_tweets PARAMETRELER
q
Karakter, maksimum 500 karakterden uzun olmayan arama sorgusu.

q Parametresi içinde kullanılacak parametreler:

  • Retweetleri şu yolla hariç tut: "-filter:retweets" (RT edilen tweetleri hariç tutacaktır)
  • Teklifleri şu yolla hariç tut: "-filter:quote"
  • Yanıtları şu yolla hariç tut: "-filter:replies" (Mention edilen tweetleri  hariç tutacaktır)
  • Filtre (yalnızca iade) ile doğrulandı "filter:verified"
  • Şununla doğrulanan hariç tut: "-filter:verified"
  • Her şeyi (ücretsiz yangın hortumu) üzerinden alın "-filter:verified OR filter:verified"
  • Haber makalelerine bağlantı içeren tweet’leri filtreleyin (yalnızca geri dönün) "filter:news"
  • Medya ile tweetleri filtrele (yalnızca dönüş) "filter:media"
n
Döndürmek için istenen tweetlerin toplam sayısını belirten sayısal. Varsayılan 100’dür. Tek bir jetondan döndürülen maksimum tweet sayısı 18.000’dir. Daha fazla bilgi için detayları gör.
type
Karakter, ne tür arama sonuçları almayı tercih edeceğinizi belirtir. Geçerli varsayılan, type = "mixed"diğer iki geçerli değerin karışımı olan type = "recent"ve type = "popular".
max_id
Karakter, [en eski] durum kimliğini belirtir ve bunun ötesinde sonuçların geri dönmeye devam etmesi gerekir.
parse
Mantıksal, ayrıştırılmış (data.frames) veya iç içe liste (fromJSON) nesnesinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan olarak, parse = TRUEkullanıcıları Twitter API dönüş nesnelerinin çözülmesiyle ilişkili zamandan [ve sıkıntılardan] kurtarır.
token
OAuth jetonu. Varsayılan olarak token = NULL, bir ortam değişkeninden tükenmemiş bir belirteci alır. Belirteçlerin nasıl oluşturulacağına ve belirteç vinyetinde bir ortam değişkeninin nasıl ayarlanacağına ilişkin talimatları bulun (r’de, ?tokenskonsola gönder ).
verbose
Mantıksal, işleme / geri alma mesajlarının çıktısının alınıp alınmayacağını belirtir.
Twitter API belgesi, aramaların 10 anahtar kelime ve operatörle sınırlandırılmasını önerir. Karmaşık sorgular, sorguyla ilgili bilgilerin kurtarılmasını engelleyen API hataları da üretebilir. Twitter’ın arama API’sinin tüm Tweetlerin bir dizinini içermediğine de dikkat edilmelidir. Arama sırasında, API dizini yalnızca 6-9 gün arasında Tweet içerir.

Döndürülen tweet sayısı genellikle kullanıcı tarafından belirtilenden daha az olacaktır. Bunun nedeni (a) arama sorgusu çok sayıda sonuç döndürmedi (arama havuzu başlangıçta tweetlerin popülasyonundan zaten inceltilmiş) veya (b) belirli bir belirteç için oran sınırınıza ulaştığınız için olabilir. Sorguda çok sayıda isabet olsa ve oran sınırı 18.000’de maksimuma çıkarılsa bile, döndürülen tweet sayısı daha düşük olabilir, ancak bunun tek nedeni işlevlerin kopyaları filtrelemesidir (örneğin, 18.000 tweet gerçekte döndürülmüş, ancak 30 tekrarı olduğu için kaldırıldı).

Twitter API GET users/search (PHP ile 20’den Fazla Kullanıcı Arama Listeleme)

Twitter developer sayfasında yer alan get-users-search bilgilerine göre tek sayfada 20 sonuç döndürmek mümkün, twitter api ile daha fazla sonucu nasıl gösterebiliriz diye düşünenlere fikir vermek amacıyla sonuçlar döngüsünün en dışına yerleştirilecek bir döngü ile tek seferde 20’den fazla sonucu ekrana yansıtmak mümkün, 15 dakikada 900 sorgu limitini aşmamak şartı ile aşağıdaki örneğe göre php kullanarak users/search kullanımını ve daha fazla sonnuç listeleme yapabilirsiniz.

require 'autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
define('CONSUMER_KEY', 'WwwwfdfdhdhdffdfDDd');    // add your app consumer key between single quotes
define('CONSUMER_SECRET', 'RtteefFFGgGGGggggggghHHHHhhh'); // add your app consumer secret key between single quotes
define('OAUTH_CALLBACK', 'callback.php'); // your app callback URL i.e. 
 
 
 
    $access_token = $_SESSION['access_token'];
    $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
    $user = $connection->get("account/verify_credentials", ['include_email' => 'true']);
 
 for ($o = 1; $o < 4;$o++) {
 
 $baglanti = $connection->get("users/search",['q'=>"test",'page'=>"$o"]);
 
 
for ($i = 0; $i < 20;$i++) {
 
echo $baglanti[$i]->screen_name."<br>";
 
	}
 
}

Kaynak: https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-users-search

HTML special characters php (PHP ile HTML karakterleri temizleme)

PHP’nin htmlspecialchars fonksiyonu sayesinde html karakterleri temizleyerek GET ve POST işlemlerinden gelen verileri temizleyebilirsiniz.

Örnek Kullanımı:

<?php
$metin= "Örnek <b>metin</b> text.";
echo htmlspecialchars($metin);
?>

MYSQL Tarih, Saat Sütunlarını Tek Sütunda datetime olarak birleştirmek

tarih sütunu format: date;
saat sütunu format: time;
olduğunu varsayalım. Birleştirip görüntülemek için :

SELECT CONCAT(tarih, " ",saat) as tarih_saat FROM tablo_adi

Görüntülemekten ziyade 3. sütuna (tarih_saat) kaydetmek için:

tarih ve saat sütununu tek sütuna kaydetmek için tarih_saat adında 3. bir sutun açıyoruz (formatını datetime yapabilirsiniz) ardından;

UPDATE tablo_adi SET tarih_saat = CONCAT(tarih, ' ', saat);

çalıştırmak yeterli olacaktır.

örnek çıktı:

+----------------+----------------+----------+------------+
|    tarih       |      saat      |tarih_saat             |
+----------------+----------------+-----------------------+
|   2020-01-02   |     12:02:03   |  2020-01-02 12:02:03  |
+----------------+----------------+----------+------------+

PHP if empty Kullanımı

PHP’de veri kaydetme işlemleri yaparken sıkca başvurduğumuz fonksiyonlardan biridir empty, empty kullanırken trim fonksiyonu kullanmakta da fayda var (gelen içeriğin başındaki ve sonundaki boşlukları almaya yarar böylece kullanıcı ard arda boşluk yaparak post işlemi yapamaz)

if(empty(trim($deger))) {
 
echo "Girilen değer boş";
}else {
echo "Boş değil";
}

PHP Date Convert

PHP’de tarihlerle işlem yapıyorsanız kullanıcıya görünen tarih bilgisini değiştirme gereği duyabilirsiniz. Veri tabanlarında tarih sütunu için date kullanıldığında Y-m-d formatında çıktı vermekte biz bunu genellikle d.m.Y formatında kullanıcıya göstermek isteriz işte bunu yapabilmek için örnek bir kod:

    $standart_tarih= "2020-01-15";  
    $yeni_tarih= date("d-m-Y", strtotime($standart_tarih));  
    echo "Yeni Tarih Formatı: ".$yeni_tarih. " (MM-DD-YYYY)";

Daha detaylı tarih işlemleri için: https://www.javatpoint.com/how-to-change-date-format-in-php