Cevaplar
-
öncelikle bu sayfa üzerindemi değişiklik yapmak istiyorusun yoksa alt ve title taglarını mı almak istiyorsun
dataları almak istiyorsan öncelikle
file_get_contents("sayfanın url si");
fonksiyonu ile ikinci php sayfasına kodları çağırmalısın sonra
preg_match_all("#<body(.*?)</body>#is",$ac,$body);
fonksiyonu ile sayfandaki isteiğin alanları alıp bir diziye alabilirsin php maualden bu iki fonksiyonu incelersen gayet basit bi şekilde halledebilirsin preg_metch_all fonksiyonu için regular expression kullanman gerek ona ufaktan bakarsan daha sağlıklı olur
preg_match_all("#alt=\"(.*?)\"#is",$ac,$body);
kısmen alt taglarını alır buna ek olarak titleyide eklersen string tarafına aynı dizide ikisinide alıp kullanabilirsin-
mbayraktar
Merhaba,
file_get_contents metodu ile sadece verileri okuyabiliyorum ama verileri aldigim yerde degisiklik yapamiyorum.
content.php adinda bir dosyam var icerigi su sekilde:
<div> <img alt="logo" title="logo" src="images/none.gif"> </div> <p> <div> <img alt="p tag logo" title="p tag logo" src="images/none.gif"></div></p>
dosyanin icerigini de bu php dosyasi ile cekmek istiyorum -> okuveyaz.php bunun icerigi de bu sekilde:
$homepage = file_get_contents('content.html');
preg_match_all('/<img[^>]+>/i',$homepage, $result);
echo ($result[0][1]);
yukarida ki örnekte verileri content.php dosyasindan okuyor ama content.php nin icinde degisiklik yapmamiyorum, sanirim dosyayi fread yada feof metoduyla acmak gerekiyor. file_get_contents ile hic bir örnek bulamadim dosyaya yazabilmek icin.
@emoty_88 sizin vermis oldugunuz örnekte oldukca faydali ve fonsiyonu inceledim ama malesef daha ileriye gidemedim.12 yıl önce yazılmış -
emoty_88
neden başka bir sayfa içerisinde değişiklik yapmak istiyorsun ben content.php adlı dosyadan sadece verileri alıp okuveyaz.php dosyasında o verileri kullanacağını düşünmüştüm
eğer bir dosya üzerinde değişiklik yapmak istiyorsan onu seninde söylediğin gibi fopen() ile açmalısın değişiklikleri yapıp dosyayı kapatmalısın burda dikkat etmen gerekn konu
dosyayı açma şekli fopen "w", "a", "r" gibi parametreler alır ve bu parametrelere göre açrığı dosyanın içindeki veriyi boşaltıp en baştan yazmaya başlar yada dosyanın sonuna yazmaya devam eder gibi
bence burda yapılacak en mantıklı işlem dosya içindeki bir string e atıp değişiklikleri strreplace ile yaptıktan sonra yeniden yazmak php dosya işlemleri olarak aratırsan çok fazla veriye ulaşabilirsin
diğer yandan bi öneri eğerki content.php yi sen oluşturuyorsan ve başka bi yerde kullanmıyorsan dosyayı xml json formatlarında tutabilirsin
not dosya işlemlerinde sorun yaşamaman için content.php senin serverinde ve okuma yazma izinleri verilmiş olmalı12 yıl önce yazılmış -
mbayraktar
hemen nedenini aciklayayim,
bir cms sistemi icin admin paneli yapiyorum ve content.php icindeki img attributlarini (alt, title) programlama bilgisi olmayan birisinin düzenlemesi icin hazir kilacagim.
bahsettigin üzre bende fopen ile kismen problemimi kismen cözdüm, artik dosyanin icerigine asagidaki kodlarla dokunabiliyorum. :)
verdigin bilgiler icin ayrica tesekkurler,
$dosya="content.html"; $baglan=@fopen ("$dosya",'r'); if (!$baglan) { echo "bir hata oldu"; exit(); } $oku=fread ($baglan,filesize("$dosya")); preg_match_all('/<img[^>]+>/i',$oku,$result); print_r($result); fclose($baglan);
bundan sonraki asamada ise yapacagim degisen verileri o dosyaya post ile göndererek yazdirmak.(fwrite).
sizce daha farkli bir yöntem kullanabilirmiyim? aklima tüm alt ve title textlerini bir xml dosyasina yazdirmak geliyor ve oradan cekmek ama o da cok zahmetli.
malesef json a uygun bir yapisi yok cünkü content.php sitenin anasayfasi ve icinde javascript frameworkleri gibi bir sürü kod calisiyor.12 yıl önce yazılmış -
emoty_88
peki veri tabanı yokmu neden bu işlerm için yani cms için veri tabanı kullanmıyorsun title alt ve resimlerin sourcelerini bir tabloda tutarsın content.php yi de ona göre düzenler sin
veri tabanı kullanamıyorsanda mecburen xml dataya başvurman gerek xml kullanman eminim bu yaptığın çalışmadan daha az zahmet ve ilerde daha az sorun çıkartır12 yıl önce yazılmış -
mbayraktar
veri tabanina ihtiyacimiz yok, hem lisanstan tasarruf yani masrafsiz, müsteriler mysql olmadan da cms sistemini kullanabiliyorlar. kisacasi minimum server özelliklerinde bile bu cms i kullanabilirler. hersey xml,txt ve zip dosyalarindan olusuyor. cms in belki bir sonraki versiyonunda veri tabani kullanacagiz.12 yıl önce yazılmış
-