Şimdi Ara

php ile dosya yazmak istediğim zaman permission denied hatası ile karşılaşıyorum. ne yaptıysam olmdı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
1.536
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaşlar merhaba, ilginç bir sorunum var sıkılmaz iseniz uzun uzun ve tane tane anlatmaya çalışacağım .

    :roll: umarım yardımcı olabilirsiniz

    yaklaşık 1 aydır pardus kullanıyorum. php öğrenmeye karar verdim. bunun için quanta plus kullanıyorum ,anlattığınız gibi apache server ve php kurulumunu yaptım. 8)

    sql yi daha deneme fırsatım olmasa da
    /etc/init.d/sudo ./apache2 start komutunu verdikten sonra localhost'a sorunsuzca ulaşabiliyorum da

    quanta plus'a root yetkisi verip /var/...../htdocs dizinine dosyalarımı kopyalayıp onları görebiliyorum hatta diğer arkadaşlarıma da ip adresim üzerinden yaptığım sayfaları görmelerini sağlayabiliyorum.

    elimde bir kitap var. oradan öğrendiklerimi kendimce yorumlayıp kodlar yazıyorum.

    herşey böyle güzel giderken dosya ile ilgili komutlar bölümüne gelmiştim ki karşıma çıkan sorun beni deli etti.

    herhangi bir dosyadan okumak için açarken sorun yok ama yazmak için açtığımda
     
    Warning: fopen(/var/www/localhost/htdocs/~files/Test.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/localhost/htdocs/ekle.php on line 5


    mesajını alıyorum..

    halbuki apache dizine rahat rahat ulaşabilsin bana sorun çıkartmasın diye yukarıdaki hata mesajında gördüğünüz gibi /var/www/localhost/htdocs/~files/ klasörü oluşturup bunu

     chmod 777 ~files 
    şeklinde okumaya ve yazmaya açmıştım ki ulaşmaya çalıştığım test.txt dosyası orada duruyor.

    yardımcı olması için yazdığım programın tamamını
    size yolluyorum.

    program 3 dosyadan oluşuyor

    Test.php
     

    <html>
    <HEAD><TITLE>Dosya okuma çalışması</TITLE></HEAD>
    <Form action="ekle.php" method="POST">
    <table border="0" >
    <TR> <TD>isim:</TD> <TD><input type="text" name="isim" size="15"></TD> </TR>
    <TR> <TD>Mesaj</TD> <TD> <TEXTAREA name="mesaj"> </TEXTAREA></TD> </TR>
    <TR> <Td colspan="2"><input type="submit"> </Td></TR>

    </table>
    </Form>
    <?php

    $dosya=fopen("~files/Test.txt","r");
    $a=0;
    if (!$dosya) {echo "<br> üzgünüm dosyayı açamadım yada hiç kayıt yok"; exit;} else {echo "<br> Dosya açma başarılı <br> <h3> Mesajlar </h3>";}
    echo "<Table border=1 width=500>";
    while (!feof($dosya)) {
    $a++;
    $isim= fgets($dosya,999);
    $mesaj= fgets($dosya,999);
    echo ("<tr> <td>". $isim. "<Br>" . $mesaj."</td> </tr>");
    }
    fclose($dosya);
    echo "</Table>";
    ?>
    </html>


    ekle.php


     
    <Html>
    <Head><TITLE></TITLE></Head>
    <Body>
    <?php
    $dosya=fopen($HTTP_SERVER_VARS['DOCUMENT_ROOT']."/~files/Test.txt","a");
    Fwrite($dosya,$isim);
    Fwrite($dosya,$mesaj);
    ?>
    </Body>
    </Html>


    bu da el ile yazdığım test.txt
     
    Mirat Bayrak
    Bu bir test mesajıdır test mesajları tamamen bireyseldir ve genelde sadece program yazarları tarafından görülürler hiçkimse test mesajlarını merak etmez yada onlarla muhattap olmak istemez. zira test demek kararsızlık tutarsızlık demektir biraz sonra ne olacağını asla bilmediğiniz durumlar vardır ya işte onun gibi.. uçurumun kenarındasında durmak gibi kanatlanıp uçacaksınız yada aşağı düşeceksiniz :)
    Terazi Şaşmaz
    kendinize gelin lütfen çizmeyi aşmayın
    Mirat Bayrak
    asıl sen kendine gel







  • ~files klasörüne yazma yetkisi vermelisin eğer sunucun linux unix işletim sistemine sahip ise destekleyen bi FTP programından mesela FileZilla olabilir ordan ftp ye bağlanıp o klasörün yetki seviyesini 777 ye getirmelisin windows işletim sistemi ise kontrol panelinden write perms(yazma yetkisini) ini aktif etmelisin
  • chmod($dir,0777);


    Bu kodu eklersen kurtulursun. $dir değiştireceğin klasörü gösterir.

     chmod($dir,0775);
    ile eski haline getirebilirsin



    < Bu mesaj bu kişi tarafından değiştirildi Eled -- 25 Nisan 2006; 18:43:06 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.