PHP ile metinsel işlemler

<?php

	$metin = "teknoyar'dan metin işlemleri"; 
	$metin1 = "<b>teknoyar'dan metin işlemleri</b>"; 
	$sayi = 123.456; 
	
	$parcala=explode(" ",$metin); // explode("kesilecek yer",değişken); 
	echo $parcala[0]."<br>"; 
	
	echo substr($metin,6)."<br>"; // ilk 6 karekteri okuma 
	echo substr($metin,0,6)."<br>"; // 0. karekterden 6. karektere kadar oku 
	echo substr($metin,-6)."<br>"; // sondaki 6 karekter 
	echo substr($metin,6,-6)."<br>"; // baştan 6. karakterden itibaren sondaki 6 karekter e kadar
	echo str_replace(" ","_",$metin); // istediğimiz bişeyi istediğimiz bişeyle değiştirir str_replace(bul,değiştir,burda) 
	echo strlen($metin)."<br>"; // metnin uzunluğunu sayar. örn: strlen('araba'); 5 gibi.
	echo strtoupper($metin)."<br>"; // hepsi büyük 
	echo strtolower($metin)."<br>"; // hepsi küçük 
	echo ucfirst($metin)."<br>"; // cümlenin ilk harfi büyük 
	echo ucwords($metin)."<br>"; // her kelimenin ilk harfi büyük 
	echo trim($metin)."<br>"; // metnin başında ve sonundaki boşlukları atar. 
	echo Ltrim($metin)."<br>"; // metnin solundaki boşlukları atar 
	echo Rtrim($metin)."<br>"; // metnin sağındaki boşlukları atar 
	echo chr(65)."<br>"; // ASCII'den karektere 
	echo ord("A")."<br>"; // Karekterden ASCII ye 
	echo number_format($sayi,"2",".",",")."<br>"; // number_format(değişken,ondalık basamağı,"ayraç","ondalık ayraç") TL para birimi için geçerlidir.
	echo addslashes($metin)."<br>"; // metin içerisindeki gizli karekterlerin başına slash (/) koyar 
	echo stripslashes($metin)."<br>"; // metin içerisindeki gizli karekterlerin başındaki slashı kaldırır 
	echo htmlspecialchars($metin1)."<br>"; // metinde geçen html etiketlerini; etiket değilde metin olarak algılamasını sağlar.
	echo strip_tags($metin1,'<b>')."<br>"; // tırnak içinde belirlediğimiz html dışındaki tüm html etiketlerini devre dışı bırakır.
	echo Nl2br($metin); // textare'da satırlara <br> ekler.
?>

Üçgenin kenar uzunluklarını isteyip, üçgenin çeşidini bulan program

Öncelikle üçgenin üç kenarınında kenar uzunluğunu teker teker istiyoruz, uzunlukları aldıktan sonra üçgenimizin çeşidini buluyoruz. Üçgenimizin üç kenarının uzunluğu birbirine eşit ise eşitkenar üçgen, iki kenarı eşit ise ikizkenar üçgen, üç kenarının uzunluğu farklı ise çeşitkenar üçgen sonucunu alıyoruz.

#include <stdio.h>
int main()
{
	int kenar1, kenar2, kenar3;
	printf("1. Kenar uzunlugu girin: ");
	scanf("%d", &kenar1);
	printf("2. Kenar uzunlugu girin: ");
	scanf("%d", &kenar2);
	printf("3. Kenar uzunlugu girin: ");
	scanf("%d", &kenar3);
	
	if ((kenar1==kenar2) && (kenar2==kenar3))
	{
		printf("Esitkenar ucgen\n");
	}
	else if ((kenar1 == kenar2) || (kenar1 == kenar3) || (kenar2 == kenar3))
	{
		printf("Ikizkenar ucgen\n");
	}
	else
	{
		printf("Cesitkenar ucgen\n");
	}
	
	return 0;
}

Çıktısı;
Tüm kenar uzunlukları birbirine eşit ise;
1. Kenar uzunlugu girin: 60
2. Kenar uzunlugu girin: 60
3. Kenar uzunlugu girin: 60
Esitkenar ucgen

Herhangi iki kenarın uzunluğu aynı ise;
1. Kenar uzunlugu girin: 55
2. Kenar uzunlugu girin: 55
3. Kenar uzunlugu girin:70
Ikizkenar ucgen

Tüm kenar uzunluğu birbirinden farklı ise;
1. Kenar uzunlugu girin: 55
2. Kenar uzunlugu girin: 65
3. Kenar uzunlugu girin: 60
Cesitkenar ucgen

Kullanıcıya kaç tane sayının toplanacağını sorup, sayıları isteyip toplamını ekrana yazdıran program

#include <stdio.h>
int main()
{
	int sayi, girilen, toplam = 0, i;
	printf("Kac tane toplama islemi yapilacak?: ");
	scanf("%d", &sayi);
	
	for (i = 1; i <= sayi; i++)
	{
		printf("%d. sayiyi girin: ", i);
		scanf("%d", &girilen);
		toplam = toplam + girilen;
	}
	printf("Toplam: %d\n", toplam);
	return 0;
}

Öncelikle kullanıcıya kaç tane sayının toplanacağını soruyoruz, örneğin 5 tane ise, kullanıcıdan 5 kez sayı istiyoruz, 5 kez sayı girdikten sonra alınan 5 sayının toplamını ekrana yazdırıyoruz.

Çıktısı;
Kac tane toplama islemi yapilacak?: 5
1. sayiyi girin: 5
2. sayiyi girin: 10
3. sayiyi girin: 15
4. sayiyi girin: 20
5. sayiyi girin: 25
Toplam: 75

c ile if kullanımı ve iki sayıyı karşılaştırma

#include <stdio.h>
int sayi;

int main()
{
	printf("Sayi girin: ");
	// scanf komutu ile sayı girilip, girilen sayının tutulmasını sağlıyoruz
	scanf("%d", &sayi);
	
	if (sayi > 10)
	{
		printf("Girdiginiz sayi: %d\n", sayi);
		printf("Sayi 10'dan buyuk.\n\n");
	}
	else if(sayi < 10)
	{
		printf("Girdiginiz sayi: %d\n", sayi);
		printf("Sayi 10'dan kucuk.\n\n");
	}
	else
	{
		printf("Girdiginiz sayi: %d\n", sayi);
		printf("Sayi 10'a esit.\n\n");
	}
	return 0;
}

Öncelikle Sayı girin: yazısı ekrana gelecektir, sayınızı girdikten sonra koşula göre sonuç dönecektir.

Girilen Sayı 10’dan Büyük İse Çıktısı;
Sayı girin:
Girdiginiz sayi: 11
Sayi 10’dan buyuk.

Girilen Sayı 10’dan Küçük İse Çıktısı;
Sayi girin:
Girdiginiz sayi: 9
Sayi 10’dan kucuk.

Girilen Sayı 10’a Eşit İse Çıktısı;
Sayi girin:
Girdiginiz sayi: 10
Sayi 10’a esit.

scanf kullanımı

#include <stdio.h> ana kütüphane (giriş çıkış / ekrana yazdırma vs) oluyor.

#include <stdio.h>

int sayi;

int main()
{
	printf("Sayi girin: ");
	// scanf komutu ile sayı girilip, girilen sayının tutulmasını sağlıyoruz
	scanf("%d", &sayi);
	
	// girilen sayıyı ekrana yazdırıyoruz
	printf("Girdiginiz sayi: %d\n", sayi);
	return 0;
}

İlk önce Sayı girin: yazısı gözükür, sayı girdikten sonra ise Girdiginiz sayi: 10 gözükür. 10 temsili sayıdır. Ne girilirse o gözükür.

Çıktısı;
Sayi girin: 
Girdiginiz sayi: 10 (bu satır sayı girdikten sonra gözükür. 10 örnek vermek amaçlı yazdığım sayı, ne girdiyseniz o gözükür.)

centos’da ssh’dan speedtest.net ile hız testini sorgulama

Linux işletim sistemlerinde text ekranında tarayıcıya ulaşıp adres satırına speedtest.net yazıp direkt hız testini sorgulama gibi bir imkanımız olmadığından dolayı, bunu kodlarla yapmamızı sağlayan modülü kurmasını ve kullanımına bi bakalım…

wget wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
sudo mv speedtest.py /usr/local/bin/speedtest-cli
sudo chown root:root /usr/local/bin/speedtest-cli

ssl sertifikasından dolayı hata verir ve kurulum dosyasını çekemezsek üstteki komutların 1. satırındaki yerine aşağıdakini yazın

wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py --no-check-certificate

kurulumu tamamladıktan sonra speedtest-cli kodu ile hız testimizi sorgulatabiliriz, örnek çıktı aşağıdaki gibi olacaktır.

ssh speed test
ssh speed test

eğer farklı lokasyonda test yapmak isterseniz

speedtest-cli --server 10994

buradaki 10994 olan Radore’nin server id’si oluyor, speedtest’e kayıtlı olan bütün sunucuların id’sine şuradan ulaşabilirsiniz: https://www.speedtest.net/speedtest-servers.php

Hız testinizin sonucunu görsel olarak almak isterseniz sorgunun sonuna –share eklemeniz yeterli olacaktır.

speedtest-cli --server 10994 --share

radore serverinde speedtest sonucu
radore serverinde speedtest sonucu

speedtest.net görsel sonucu
speedtest.net görsel sonucu

WHM cPanel için ssh’dan toplu yedek alma ve geri yükleme

Yapacağımız işlemler ssh üzerinden olacağı için putty’e ihtiyacınız olacak, eğer elinizde yok ise alttaki bağlantıdan indirebilirsiniz.

32 bit64 bit

putty’e giriş yaptıktan sonra işlemlere başlamadan ana dizine giriş yapalım,

cd /home

ana dizine giriş yaptıktan sonra cpanelin kendi yedekleme sistemi ile yedek almayı başlatabiliriz fakat bu tam güç kullanacaktır ve sunucuyu yorabilir.

/scripts/cpbackup --force

diğer alternatif ise otomatik olarak tek tek yedekleme yapması var ve bende bunu kullanıyorum.

for i in $(ls /var/cpanel/users); do /scripts/pkgacct $i;done

ben toplu yedek almak istemiyorum, tek tek bir kaç hesabı yedeklemek istiyorum derseniz bu koddan kullanıcı adını hosting hesabınıza göre uyarlayarak yapabilirsiniz.

/scripts/pkgacct KULLANICIADI

yedeklerinizi aldınız, bunları başka bir sunucuya taşımak istiyorsanız (127.0.0.1 yerine taşınacak sunucunun ip adresini yazmanız gerekiyor)

scp cpmove-* [email protected]:/home

suncunuzun portu varsayılan olarak 22 değilde başka bir port ise bu şekilde yapabilirsiniz (1234 olan yer portu ifade etmektedir, kodu sunucunuzun portuna göre uyarlayın)

scp –P1234 cpmove-* [email protected]:/home

yedekler hazır, topluca yedekleri açmak için

for x in $(ls -A *.tar.gz | cut -d "-" -f 2 | cut -d "." -f 1); do /scripts/restorepkg $x; done

yedeği tek tek açmak istediğinizde ise

/scripts/restorepkg KULLANICIADI.tar.gz

bu makalemizde sitelerimizin yedeğini oluşturduk, gerekliyse başka sunucuya aktardık, geri yükledik.

ubuntu, fedora, centos’ta htop kurulumu

htop nedir? (homotopy category of topological spaces)

linux tabanlı işletim sistemlerinde kullanılan sistem monitörüdür. windows’taki tabiri ile ise görev yöneticisi.

kullanmalı mıyız? neden?

kullanıp kullanmamak size kalmıştır, tavsiyem kullanmanızdır çünkü daha düzenli bir görüntüye sahip ve işlerimizi çok kolaylaştırıyor.
kullanımlara göre filtrelemesinden, işlem numaralarına göre sıralandırmasına… bilen biliyor zaten.

kurulumu nasıl yapabilirim?

rhel centos 5 32 bit için htop kurulumu

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv epel-release-5-4.noarch.rpm
yum install htop -y

rhel centos 5 64 bit için htop kurulumu

wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ihv epel-release-5-4.noarch.rpm
yum install htop -y

rhel centos 6 32 bit için htop kurulumu

wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ihv epel-release-6-8.noarch.rpm
yum install htop -y

rhel centos 6 64 bit için htop kurulumu

wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ihv epel-release-6-8.noarch.rpm
yum install htop -y

rhel centos 7 64 bit için htop kurulumu

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
rpm -ihv epel-release-7-8.noarch.rpm
yum install htop -y

fedora için htop kurulumu

yum install htop -y

fedora 22+ için htop kurulumu

dnf install htop -y

ubuntu için htop kurulumu

sudo apt-get install htop -y

kullanımına gelirsek;
htop komutu ile başlatıyoruz.

F1 tuşu size program detayları hakkında yardımcı oluyor,
F2 tuşu yüklemeler,
F3 tuşu ise aramalar,
F4 ise filtrelemeler,
F6 ise sıralamalar,
F9 ise seçili işlemi sonlandırmaya (aşağı yukarı ok tuşları ile seçiminizi değiştirebilirsiniz)
F10 ve ya CTRL + X tuşu ise htop’tan çıkmanızı sağlar.

php ile sayfa içeriğini sıkıştırma

php ile sayfa içeriğini sıkıştırarak sayfanızda yarı yarıya boyut kazanabilirsiniz. kazandığınız bu boyut ile site hızınız daha hızlı yüklenmesini sağlamış olursunuz ve bu da google’n hoşuna gider. google severse sıralamada ise daha öne çeker. aranmalarda kolaylıkla bulunmanızı sağlar ve harcadığınız trafikte de kazanç elde ettirir.
önce bu kodları yazılımınızın her sayfasında dahil olan php kodunun içine yerleştiriniz (fonksiyonlar.php ya da veritabani.php dosyası olabilir)

$gzip_pres = true; 
function gzipKontrol() 
{ 
    $kontrol = str_replace(" ","", 
        strtolower($_SERVER['HTTP_ACCEPT_ENCODING']) 
    ); 
    $kontrol = explode(",", $kontrol); 
    return in_array("gzip", $kontrol); 
} 
function bosluksil($kaynak) 
{ 
    return preg_replace("/\s+/", " ", $kaynak); 
} 
function phpPress($kaynak) 
{ 
    global $gzip_pres; 
    $sayfa_cikti = bosluksil($kaynak); 
    if (!gzipKontrol() || headers_sent() || !$gzip_pres)  
        return $sayfa_cikti; 
    header("Content-Encoding: gzip"); 
    return gzencode($sayfa_cikti); 
}

bu kodu ekledikten sonra sıkıştırmak istediğiniz sayfanın en başına aşağıdaki kodu yapıştırın.

ob_start("phpPress");

tümü bu kadar, bol trafikli günler.