Просмотр полной версии : php содержимое фаила
Как зделать в этом скрипте :
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print"<br><br><textarea>";
readfile($op);
print"</textarea>";
}
?>
чтоб нормально печаталось содержимое фаилов ... чтото типа htmlspecialchars .....
astrologer
20.05.2008, 18:04
hnmlspecialchars => htmlspecialchars ?
groundhog
20.05.2008, 18:10
Ну используй что-то типа:
$gt = htmlspecialchars(file_get_contents($op), ENT_QUOTES);
Хотя постановку задачи пококретней сделай, что тебе не нравится в текущем варианте?
А как именно оно выводит и как ты хочешь чтобы выводило?
чтоб как здесь код вставляется , также и выводилось . а так оно печатается как хтмл страничка , надо чтоб печаталось внутри <textarea>...а не как документ .. проверте это на своём компе и сразу всё поймёте ...
Ну используй что-то типа:
$gt = htmlspecialchars(file_get_contents($op), ENT_QUOTES);
Хотя постановку задачи пококретней сделай, что тебе не нравится в текущем варианте?
в данном случае все хтмл тэги заменяются , а надо чтоб печатались но не исполнялись...
groundhog
20.05.2008, 19:26
Молодой человек, я вас понять не могу... Html-теги никогда не исполняются... Ты хочешь чтобы код выводился внутри Textarea, но уже отформатированный в виде Html?
наоборот. чтоб выводился хтмл код в текстареа ....
groundhog
20.05.2008, 19:33
<textarea cols="100" rows="35">
<?php
print(file_get_contents('http://ya.ru'));
?>
</textarea>
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print"<br><br><textarea cols=\"50\" rows=\"20\">";
print(file_get_contents($op));
print"</textarea>";
}
?>
тоже самое блин , теги выходят за рамку текстареа ...
сматрите сами : http://slil.ru/25810073
Мда...
Потому что на я.ру есть закрывающий тэг </textarea>
где тут ya.ru интересно узнать :
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print"<br><br><textarea cols=\"50\" rows=\"20\">";
print(file_get_contents($op));
print"</textarea>";
}
?>
groundhog
20.05.2008, 19:57
Я вижу, что у тебя какой-то Php код валится в браузер, а не теги... Ты уверен, что у тебя где-то не стоит "?>", что прерывает секцию Php кода и валит контент в страницу? Дай весь скрипт посмотреть...
это и есть весь скрипт
фаил который я открываю содержит и пхп и хтмл .........
groundhog
20.05.2008, 20:03
Ну хоть убей у меня всё нормально отрабатывает... Покажи файл, который ты выводишь...
зделал так:
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print "<br><br><textarea cols=\"50\" rows=\"20\">";
print htmlspecialchars(file_get_contents($op));
print "</textarea>";
}
?>
зароботало ....всем спсибо ...
groundhog
20.05.2008, 20:06
Блин, ну не пойму я, если как говорит Изис тебе закрывающая текстареа мешает, то тогда вот такой код юзай:
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print"<br><br><textarea cols=\"50\" rows=\"20\">";
print(htmlspecialchars(file_get_contents($op)));
print"</textarea>";
}
?>
groundhog
20.05.2008, 20:07
тебе про это втирали вначале поста ещё...
я вкурсе уже .. там я незаметил что показалось правильно так как увидел решотки №и подумал что текст заменяется...
теперь вопрос такой , почему в данном коде сохраняется старое содержимое и новое вместе ... попробуйте с помощъю этого кода изменить какой либо фаил ...
<?php
$o=opendir('./');
$op=$_GET['name'];
while ($r=readdir($o))
{
print "<a href=\"?name=";
print $r;
print "\">$r</a>";
print "<br>";
}
if (isset($op))
{
print "<form method=\"POST\">";
print "<br><br><textarea cols=\"50\" rows=\"20\" name=\"text\">";
print htmlspecialchars(file_get_contents($op));
print "</textarea>";
print "<input type=\"submit\" value=\"OK\"></form>";
$ft=$_POST['text'];
if(isset($ft))
{
$fo=fopen($op,"a+");
fputs ($fo,$ft);
}
}
?>
astrologer
20.05.2008, 21:04
Потому, что 'a+'.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot