PDA

Просмотр полной версии : php содержимое фаила


lomerok
20.05.2008, 17:59
Как зделать в этом скрипте :

<?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);
Хотя постановку задачи пококретней сделай, что тебе не нравится в текущем варианте?

_Great_
20.05.2008, 18:55
А как именно оно выводит и как ты хочешь чтобы выводило?

lomerok
20.05.2008, 19:17
чтоб как здесь код вставляется , также и выводилось . а так оно печатается как хтмл страничка , надо чтоб печаталось внутри <textarea>...а не как документ .. проверте это на своём компе и сразу всё поймёте ...

lomerok
20.05.2008, 19:20
Ну используй что-то типа:

$gt = htmlspecialchars(file_get_contents($op), ENT_QUOTES);
Хотя постановку задачи пококретней сделай, что тебе не нравится в текущем варианте?
в данном случае все хтмл тэги заменяются , а надо чтоб печатались но не исполнялись...

groundhog
20.05.2008, 19:26
Молодой человек, я вас понять не могу... Html-теги никогда не исполняются... Ты хочешь чтобы код выводился внутри Textarea, но уже отформатированный в виде Html?

lomerok
20.05.2008, 19:29
наоборот. чтоб выводился хтмл код в текстареа ....

groundhog
20.05.2008, 19:33
<textarea cols="100" rows="35">

<?php

print(file_get_contents('http://ya.ru'));

?>

</textarea>

lomerok
20.05.2008, 19:48
<?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

Isis
20.05.2008, 19:53
Мда...
Потому что на я.ру есть закрывающий тэг </textarea>

lomerok
20.05.2008, 19:56
где тут 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 кода и валит контент в страницу? Дай весь скрипт посмотреть...

lomerok
20.05.2008, 19:58
это и есть весь скрипт

фаил который я открываю содержит и пхп и хтмл .........

groundhog
20.05.2008, 20:03
Ну хоть убей у меня всё нормально отрабатывает... Покажи файл, который ты выводишь...

lomerok
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
тебе про это втирали вначале поста ещё...

lomerok
20.05.2008, 20:11
я вкурсе уже .. там я незаметил что показалось правильно так как увидел решотки №и подумал что текст заменяется...

lomerok
20.05.2008, 20:22
теперь вопрос такой , почему в данном коде сохраняется старое содержимое и новое вместе ... попробуйте с помощъю этого кода изменить какой либо фаил ...


<?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+'.

Isis
20.05.2008, 21:11
http://php.net/fopen

lomerok
20.05.2008, 22:39
спасибо заработало