PHP metin dosyaları olarak PHP kodu içeren dosyalar okuyamaz

4 Cevap php

Ben şu anormallik tökezledi:

$ = Fopen (realpath (".. / Klasör / files.php"), "r") kolu;

can't read a file, but as soon as I remove php tags from the file, it becomes readable and my scripts prints non-empty file content on the page. Also, file.php is never ever executed, so I wonder why it is the problem.

Ben bir şekilde Apache ya da PHP, sadece metin olarak php etiketleri PHP içeren dosyaları okumak izin vermez sanırım.

Benim özel dosya için nasıl ben (tabii ki küresel güvensiz olacağını yapıyor) etkinleştirebilirsiniz?

PHP 5.2.x ve Apache 2.0 kullanılarak

4 Cevap

Ben hallederim. Ben sayfa hata ayıklamak için Google chrome kullanıyordum, ve ben kaynağını izlerken, Chrome nedense PHP etiketlerini gizlediğini fark etti. Firefox üzerinde aynı testi koştu ve kaynağını inceleyen her şeyin yolunda olduğunu kanıtladı.

İşte test detayları şunlardır:

Kod:

$fh = fopen("test.php","r");
while ($line = fgets($fh)){
echo $line;
}

Okunacak dosya (dnm.php):

testing <?php testing2 ?> testing3

(Chrome ve Firefox hem de) Rendering:

testing  testing3

Kaynağı gör (firefox kullanıyorsanız):

testing <?php testing2 ?> testing3

(Chrome kullanarak - Benim hatam kaynağı) görünümü kaynak:

testing  testing3

Eğer doğru çıktı ve yorumlama emin misiniz? Eğer sayfa çıktı doğrudan dosya içeriğini yazdırmak eğer o bir etiket olduğunu düşünüyor, çünkü bir tarayıcı köşeli parantez içindeki metni göstermez. text/plain olarak içerik sunmak, ya da emin tarayıcı görüntülemek için seçtim sadece ne orada gerçekten ne bakarak, ve konum yapmak için tarayıcınızın "kaynağı" komutunu kullanın.

File_get_contents hmm () benim için çalışıyor. Sadece fopen için sorunu var mı?

Edit: ne hata tam olarak alabilirim?

Wadih M. sorunu çözüldü. PHP etiketleri tarayıcıda tüm etiket kapalı php kaynak çıkışı gizler, ama Kaynağı onları gösterir. Teşekkürler!