• 13-03-2009, 11:14:01
    #1
    Merhaba arkadaşlar,

    Benim PHP'de yapmam gereken bieşy var fakat nasıl yapabilirm bilemiyorum...

    Örneğin https://www.r10.net e girip CTRL + S ( Dosya / Sayfayı Farklı Kaydet Seçeneği ) yapıp bunu masaüstüne kaydettiğimizde,

    Webmaster Forum_files adınla klasör ve Webmaster Forum.htm diye bir dosya olur.. Bu Webmaster Forum.htm dosyasında resimler flash dosyaları vs. bu masaüstündeki Webmaster Forum_files klasöründen çeker.

    Bu şekilde biz bu htm dosyasını ne zaman açarsak açalım, asıl sitenin içeriği değiştiği zaman bile sayfayı düzgün olarak görüntüleyebiliriz. Bende bunu istiyorum.

    Acaba ben bu CTRL + S işlemini yapabilecek birşeyi PHP ile yapabillir miyim ? ya da nasıl yaparım.

    Umarım anlatabilmişimdir...
  • 13-03-2009, 11:31:23
    #2
    Alıntı
    Bu şekilde biz bu htm dosyasını ne zaman açarsak açalım, asıl sitenin içeriği değiştiği zaman bile sayfayı düzgün olarak görüntüleyebiliriz.
    bu cümleyi tam anlayamadım, sen siteyi kaydettikten sonra site içeriği değişirse, senin htm dosyası güncellenmez bu noktada bir yanlışın var.

    sitenin tümünü, dosyalarla birlikte kaydetmek bi istiyorsun ?
  • 13-03-2009, 11:38:36
    #3
    Evet, sadece seçtiğim sayfanın içeriğini dosyalarıyla birlikte kaydetmek istiyorum.
  • 13-03-2009, 11:41:08
    #4
    Üyeliği durduruldu
    sayfanın içeriğini açıp içindeki tüm resim ve bulup onlarıda aynı şekilde açıp....

    uzun bir iş
    temel olarak

    http://php.programlama.tv/ders/uzak-...pen-komutlari/

    sayfayı açmalı ve kaydetmelisiniz.

    birde şu var. mevcut linkleride değiştirmeniz gerekir

    mesela

    <img src="https://www.r10.net/a.jpg">

    i kaydetme dizininiz ne ise

    <img src="dizinadim/a.jpg">

    gibi çevirmeniz gerekir
  • 13-03-2009, 11:48:08
    #5
    Evet öyle baya uğraştım ama yapamadım, sitenin html olarak kodlarını çekiyorum ama resimleri, flash dosyaları filan nasıl çekip kaydedecem...
  • 13-03-2009, 12:32:47
    #6
    bunu yapmak için ileri düzeyde regex ve php bilgisi gerekir. Her HTML kodunu filtrelemek gerekir v.s v.s tek kişi yaparsa zaman alır bayağı.
  • 13-03-2009, 12:49:37
    #7
    //edit
  • 13-03-2009, 12:50:25
    #8
    Hmm, tam anlayamadım ama bunu ya da buna benzer bişeyi yapmam gerekiyor..

    Şöyle söyleyeyim o zaman.. Php ile sitenin html kodlarını çekiyorum, veritabanına kaydediyorum... Fakat karşı sitede resim yolu /images/resim.jpg olarak girildiyse, benim sitenin ana dizinde /images/resim.jpg yolunu görüyor ve resim görüntülenemiyor.

    Eğer resim yolu siteadi.com/images/resim.jpg gibi belirtildiyse resim görünüyor ama resim oradan silinirse gene resim görüntülenemiyor.

    Bu yüzden bende sayfanın dosyalarınıda çekmem gerekiyor. ASP ilede olabilir.
  • 13-03-2009, 13:35:59
    #9
    Üyeliği durduruldu
    böyle birşey için sanırım 4 tür dosyayı çekmeniz yeterli. css,js,resim ve flash dosyaları. cssnin bulunması nispeten daha kolay. js,resim ve flash lar için regex yazmanız gerek. örneğin resimler için şöyle birşey olabilir

    preg_match_all('#<img(.*?)src=([\'\"]{0,1})([^^\'\"\s].*)([\'\"\s]{0,1})#is',$sayfaicerik,$resimadresleri);
    
    print_r($resimadresleri);
    bu örnekte resimlerin karşı sitede mi yoksa 3. bir sitede mi olduğunu anlayacak kodlar yok. onları da ekledikten sonra ( örneğin strpos ile resim adresinde http:// geçip geçmediğine bakarsın) resimleri kendi hostuna çekersin. onda sonrası str_replace ile eski resim adresini yenisi ile değiştirmek.

    js ve flash dosyaları için de benzer bir mantık kurman gerek.