• 19-07-2007, 02:25:04
    #1
    Üyeliği durduruldu
    merhaba arkadaşlar ben link değişimi yapmada kolaylık olsun diye basit bi kod toplulugu yaptım online editor gibi kodları yazi.txt de kaydediyorum fakat bir sorunum var linkler

    http://www.domain.com/http://denemelinkdegisimi.com
    şeklinde gösteriliyor

    bir form var formdaki bilgiler gonder.php ye gidiyor
    <?php
    if($_POST[gonder] == "Gönder") {
        $dosyaadi = 'yazi.txt';
        if (is_writable($dosyaadi)) {
           if (!$dosya = fopen($dosyaadi, 'w')) {
                 echo "Dosya açılamadı: $dosyaadi";
                 exit;
           }
           if (fwrite($dosya, $_POST[yazi]) === FALSE) {
               echo "Dosyaya yazılamadı $dosyaadi";
               exit;
            }
          echo "'$_POST[yazi]'\n</br>\nbaşarıyla <strong>$dosyaadi</strong> dosyasına kaydedildi";
          fclose($dosya);
        } else {
           echo "$dosyaadi yazılabilir değil dosya izinlerini kontrol edin";
        }
    } else {
        echo "HATA";
    }
    ?>
    birde ortak.php var

    <?php
    function oku() {
        $dosya=@fopen("yazi.txt",r);
        if ($dosya) {
           while (!feof($dosya)) {
               $buffer = fgets($dosya, 4096);
               echo $buffer;
            }
           fclose($dosya);
        }
    }
    ?>
    sorun nerde acaba
  • 19-07-2007, 03:11:05
    #2
    Kurumsal PLUS
    link bilgilerini dosyaya yazdığın kısmı görsem bişi diyebilirim..
  • 19-07-2007, 03:18:10
    #3
    Üyeliği durduruldu
    pm attım ....
  • 19-07-2007, 03:35:10
    #4
    Kurumsal PLUS
    " ve ' işaretlerinin yanına \ geliyor txt e kaydedilirken. o yüzden bozuluyor link.

    yolladığın kodlarda bunu nasıl filtrelediğini bulamadım. farklı galiba. txt db kullanıyorsun. dikkat etmene gerek yok, injection olayı yok
  • 20-07-2007, 16:23:10
    #5
    Üyeliği durduruldu
    sorununu net olarak anlamadım ama kodlamanda
    echo "Dosyaya yazılamadı $dosyaadi";
    exit;
    yerine
    die(
    "Dosyaya yazılamadı $dosyaadi");
    az da olsa kod satırlarını azalatabilirsin.
    bartuc un dediği gibi ise sql injeksiyon yok ama hala sorun varsa
    okurken stripslashes fonksiyonunu kullanabilirsen slashleri silmek için
    + .txt kullanma .dat kullan yazma okuma hız açısından çok daha iyi
    (ünide ilk dönem ki konumuzdu metin tipli dosya txt tipli dosya )
  • 23-07-2007, 09:15:31
    #6
    Misafir
    saho adlı üyeden alıntı: mesajı görüntüle
    + .txt kullanma .dat kullan yazma okuma hız açısından çok daha iyi
    (ünide ilk dönem ki konumuzdu metin tipli dosya txt tipli dosya )
    ne farkı olabilir ki, fopen her dosyaya fopendir mime type gözetmez
  • 23-07-2007, 10:32:39
    #7
    Üyeliği durduruldu
    neyseki ders notları elimdeymiş php için aynı şey geçerlimidir bilmem ama 1,0 pc dili diye bilinin dilde yazıldığından olduğunu söylüyor
     
    ß DOSYALAR à
    Ders Amacı Döngüler ve diziler sürekli olarak verilerin(bilgilerin) saklanmasını sağlayamazlar. Döngü kullanıldığında sabit veya değişken olarak bir anda sadece bir adet veri saklayabiliriz. 50 öğrencinin bulunduğu bir sınıfta öğrencilerin isimlerini bilgisayara girmek için bir değişken deklerasyonu kafidir. Bu işlem sadece veriyi bilgisayara girmek için kullanılır. Bu durumda verilere tekrar ulaşılmak istenirse başarısız kalınır. Alternatif olarak kullanılan diziler ise sadece program içinde verileri saklayabilir. Örneğin yine 50 öğrencinin mevcut olduğu bir sınıfta öğrencilerin isimleri bilgisayara girilmek istenilirse ve dizi kullanılıyorsa veriler programın çalıştırılması sona erinceye kadar hafızada saklı kalırlar. Programın çalışması sona erdiği anda hafızadaki bilgiler silinir. O halde döngü ve diziler verilerin saklanmasında uygun değildir. Veriler disketlerde, harddiskte, manyetik teyblerde veya CD'lerde kalıcı olarak saklanabilir. Veri saklamanın bir yolu dosya kullanmaktır. Bu dersimizde dosyalama yöntemlerinden biri olan Text Tipli Dosyaları işleyeceğiz. Metin Tipli Dosyalar : Pascal programlamada Bilgisayarda veri saklamak için dosyalar kullanılır. Pascal'da 2 tip dosya mevcuttur : 1. Metin tipi dosya 2. Tipli dosya Metin tipi dosyaların kullanımları kolaydır, notepad,wordpad,word gibi herhangi bir kelime işlemci programı kullanılarak içerikleri hazırlanabilir. Dezavantaj olarak dosyada veri arama uzun zaman alabilir. Çünkü veri arama daima bir numaralı kayıttan başlar. Bir diğer dezavantaj ise bilgi değiştirmek ve bilgi silmek aynı dosyada yapılamaz. Bu işlemleri yapmak için ikinci bir text dosya gereklidir. Tipli dosyalar ise metin tipi dosyalara göre daha hızlıdır. Dosya olarak veri saklama ve dosyadaki veriye erişim son derece hızlıdır. Bunun nedeni verini makine diline(0 ve 1'lere) çevrilmiş olmasıdır. Tipli dosyalarda herbir kayıtın bir kayıt numarası vardır. Veriler makine diline çevrildiği için içerikleri görüntülenemez. Bu durumda veri hazırlamak ve incelemek için Word gibi kelime işlemciler de kullanılamaz. Bilgi değiştirmek ve bilgi silmek aynı dosyada yapılabilir. Dosyalarda veri saklamak için belirli komutlar mevcuttur. Bu komutlar yardımıyla dosyalar bilgi dosyaya kaydı için veya dosyadan bilgi okumak için açılır. Gerekli bilgiler kaydedilir veya okunur. İşlem bittikten sonra ise dosya kapatılır. Eğer dosya kapatılmaz ise veri kaybı meydana gelebilir. Dosya deyimleri: Başlangıç olarak programda dosya kullanılacağı derleyiciye bildirilmelidir. Bu ise değişken deklerasyonu kısmında olur :