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.php
kullanı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ı664
fwrite kullanılarak oluşturulan vegenerator.php
ile CHMOD değeri ise için0775
. result.php
Linuxfwrite()
generator.php
kullanıcısı tarafından oluşturulan iken Çalışmatest.php
dosya, FTP üzerinden Smultron bir Mac üzerinde düzenlenmiş ve tarih oldu, Bir tarayıcı denir.