I fwrite() sunucusu (Apache, PHP4) bir result.php oluşturmak için generator.php o kullveığı adında bir dosya var.
Içinde çizgilerinden biri result.php PHP include() ifadedir.
Yani, içinde generator.php:
if (!is_file($fname)){
$resultfile = fopen($current_path . "/" . $fname, "w+");
}
fwrite($resultfile, '<?php include($_SERVER["DOCUMENT_ROOT"] . "'. '/inc/footer.php"); ?>' . "\n");
fclose($resultfile);
chmod($current_path . "/" . $fname, 0755);
Ve in result.php,
<h2>Sponsored Links</h2>
<!-- begin sidebar_top ad -->
<?php echo $_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php" . "<hr />";
include($_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php"); ?>
<!-- end sidebar_top ad -->
Ben bir tarayıcıda result.php ziyvardırt Ama o include() deyimi çalışmıyor. Echo ifadesi yok, bu yüzden yolun doğru olduğunu biliyorum.
Başka test.php Ben aynı klasöre FTP kullanarak yüklenen aynı kodu ile çalışıyor.
FTP üzerinden kurtarılan iki dosya aynı kodu.
In test.php: (işleri, yankıları ve içerir doğru.)
<?php
echo $_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php" . "<hr />";
include($_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php");
?>
include() olup result.php (fwrite() kullanılarak oluşturulan) içinde test.php (elle oluşturulan) çalışıyor, hem Herhangi bir fikir neden aynı klasörde?
Ben dosyaları arasında bildiğim tek fark:
- Sahibi (
result.phpkullanıcı tarafından yaratılmış olmaznobody?) Farklı olabilir - İzinler aslında farklıdır. FTP'd dosyası (çalışma) olan
0775, olanlar () (çalışmıyor dahil) vardı664fwrite kullanılarak oluşturulan vegenerator.phpile CHMOD değeri ise için0775. result.phpLinuxfwrite()generator.phpkullanıcısı tarafından oluşturulan iken Çalışmatest.phpdosya, FTP üzerinden Smultron bir Mac üzerinde düzenlenmiş ve tarih oldu, Bir tarayıcı denir.