htaccess tarafında buna müdahale ederiz benim sitemde sitemap.xml yok ama bir php dosyasını htaccess ile sitemap.xml yazıldığında o php dosyasını çağırıyor
kodlar şöyle
RewriteEngine On
RewriteRule ^sitemap.xml$ sitemap.php [L,NC]
Senin işini şu hâli çözecektir:
RewriteEngine On
RewriteRule ^iletisim.php$ iletisim [L,NC]
Kesin emin değilim ve denemedim ama ilk yazdığım htaccess çalışıyor
Eğer sitenin link yapısını çözmüş biri varsa sıkıntı çıkarabilir. Önlem almak kolay session oluştur o session varsa girilen parametle ile işlem yapılsın.
Aklıma gelen 2. problem link yapını bilen adam delete işlemi gibi bir işlemin yolunu biliyorsa oraya sql yazıp tablolarını alabilir. Çözüm gene kontrollden geçiyor kontrol için en basit yol session oluşturmak yada işlemin öncesinde yetki kontrölü yapmak eğer login olan biri varsa ve yetkisi adminse silsin gibi bir şey yazdıysan ve sonra sildiysen sql yazamaz ve tablolarına senden izinsiz biri işlem yapmamış olur
Hocam maalesef bir öğrenci e-postasına sahip değilim. Tek seferlik bir ödeme seçeneği varmı ? Eğer yoksa Php storm alternatifi bir Ide önerirmisiniz.
Setting fonksiyonu çekilecek video sayısı için setting('video_count') kısımlarını 10-20 ile değiştirebilirsin
$links=array_values(array_unique($links));
if (count($links)>setting('video_count')) {
do{
array_pop($links);
}while(isset($links[setting('video_count')]));
}
Burayı tamamen silersende hiçbir sınırlama olmadan tüm çektiği idleri $links değişkeninden ala bilirsin
/*
Ben kendi siteme iframe ile attığım için videoları bu işimi görüyor fazlasını istersen video idsini kullanarak biraz parçalama yapınca işine yarayacak bilgileri alabilirsin
Url kısmında ben sadece bir kanalın videolar kısmını test ettim playlist verirsen url olarak fazladan video idsi çekebilir
*/
$url = ''
$ch = curl_init();
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); Burası localde deneyeceksen yorum satırını kaldır ssl doğrulamayı kapatıyor wamp ve xamp da hata alıyordum ben o yüzden ekledim hata almıyorsan bir şeyi değiştirmene gerek yok
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);
$links = [];
$param = explode('{"videoId":"',$html);
$count = count($param);
for ($i=1; $i<=$count ; $i++) {
if(isset($param[$i])){
$explode = explode('"',$param[$i]);}
if(isset($explode)){
array_push($links,$explode[0]);
}
}
$links=array_values(array_unique($links));
if (count($links)>setting('video_count')) {
do{
array_pop($links);
}while(isset($links[setting('video_count')]));
}
// setting('video_count') gösterilecek video sayısını belirtmek için son kısmı istersen kullanmayabilirsin tüm videolar için işlem yapacaksan
//kopyalayarak kodu denemen için birde fonksiyon oluşturdum
function ekle(){
echo 'ekle calisti';
}
//Fonksiyonların isimlerini bir dizide tutuyoruz ben ekle ve deneme adında 2 eleman ekledim
$fonksiyonlarim = [
'ekle','deneme'
];
//$url büyük ihtimalle $route[1] olacaktır
$url = 'ekle';
// in_array() ile fonksiyonlarimde aradığımız fonksiyon varmı diye kontorl ediyoruz
if(in_array($url,$fonksiyonlarim)){
//var ise bu şekilde çalıştıra biliyormuşuz
$url();
}
//denerken galiba php 7.4.7 de denedim online bir php çalıştırma sitesinde denedim
$routeExplode = explode('?', $_SERVER['REQUEST_URI']);
$route = array_values(array_filter(explode('/', $routeExplode[0])));
//$route değişkenine sitenin url kısmını '/'lardan bölerek ayırıyoruz $route[0] büyük ihtimalle profilbuyüzden $route[1] için denetim yapcağız
//ilk denetimi bütük ihtimalle yapmana gerek yok ama genede eklemek istedim
if($route[0]=='profil'){
if($route[1]=='ekle'){
//eğer profilden sonra gelen yer ekle ise ekle fonksiyonunu çalıştırıyoruz
ekle();
}else{
//ekleden farklı bir değer alırsa index fonksiyonu çalışıyor indexten farklı bir fonksiyon ekleyeceksen else if kullanarak onunda denetimini yapman gerekecektir
index();
}
}