Привет! Задача следующая: Необходимо написать скрипт, который редактирует хтмл-ки, (добавляет табличку и кнопку с ссылкой). Т.е. необходимо указать путь к этому файлу, который нужно редактировать и ссылку, которую он должен будет содержать. (итого 2 поля формы) Я написал страничку (там формы, данные ввожу туда) и обработчик. Все работает, когда дома загружаю на сервак Apache дома.
Прога вставляет новые теги после <body id="cs_flashBody"> и перед </BODY>. Так и должно быть.
Но я столкнулся с проблемой - когда пришел с прогой в универ, загрузил её через комп, который подключен к сети на сервер, запустил , и… Файл не захотел открываться. Видимо, это из-за неправильного пути в $file = file_get_contents(msg1); Объясните плз, как должно быть, чтобы работало… Я подозреваю, что нужно влепить в параметры file_get_contents IP компа, ведь хтмл документ для редактирования находится на этом компе… но не знаю как это написать. Помогите плз =)
1 . формы для ввода данных
<?
$My_date=date("d.m.y");
echo "Сегодняшняя дата : $My_date";
echo "<br>";
$action = $HTTP_POST_VARS["action"];
if ( empty($action) )
{
?>
<HTML>
<HEAD>
<TITLE>. . : : : Add_Url : : : . .</TITLE>
</HEAD>
<BODY bgcolor="DeepSkyBlue">
<br><br><br><br><br><br><br><br><br><br>
<center>
<FIELDSET STYLE="border: 2px solid #000; padding: 10px; width: 550px">
<LEGEND> Заполните поля формы: </LEGEND>
<table width=450px border=1>
<form action=KufScript.php method=post>
<input type=hidden name=action value=post>
<tr><td colspan=2>
<br><b>Укажите страницу, в которую необходимо добавить ссылку:</b>
<br>Введите, пожалуйста, адрес этого файла:
<br><input type=text size=80 name=msg1>
</td></tr>
<input type=hidden name=action value=post>
<tr><td colspan=2>
<br><b>Укажите страницу, на которую будет переход по ссылке:</b>
<br>Введите, пожалуйста, адрес этого файла:
<br><input type=text size=80 name=msg2>
</td></tr>
<tr><td>
<br> <b>Введите, пожалуйста, IP компьютера в сети :</b>
<input type=text sixe=80 name=msg3>
</tr><td>
<tr><td colspan=2><br>
<DIV align="center"><input type=submit value=" Добавить URL "></div>
</td></tr>
</form>
</table>
</FIELDSET>
</center>
</BODY>
</HTML>
<?
}
?>
2. обработчик
<HTML>
<TITLE>Добавление ссылки в текст html-документа</TITLE>
<BODY bgcolor="DeepSkyBlue">
<?
if(isset($HTTP_POST_VARS["msg1"]) and isset($HTTP_POST_VARS["msg2"]))
{
$msg1 = substr($HTTP_POST_VARS["msg1"],0,1024);
$msg1 = htmlspecialchars($msg1);
$msg1= stripslashes($msg1);
?> <tr><td>
<center>
<? print "<P>".$msg1."</P>\n"; ?>
</center>
</tr></td>
<?
$msg2 = substr($HTTP_POST_VARS["msg2"],0,1024);
$msg2 = htmlspecialchars($msg2);
$msg2= stripslashes($msg2);
?> <tr><td>
<center>
<? print "<P>".$msg2."</P>\n"; ?>
</center>
</tr></td>
<?
$Variable1 = '<div align= "center"> <Table border="1" bgcolor="LightGray"> <tr><td><FORM ACTION='.$msg2.' METHOD="POST"><input type="submit" value="MyButton"></FORM></td><td>';
$Variable2 = '</td></tr></TABLE></div>';
// читаем
$file = file_get_contents(msg1);
// удаляем
// заменяем тег <body id="cs_flashBody"> на строковую переменную, результат сохр в $file
$SpecVar='<body id="cs_flashBody">';
$file = str_replace("$SpecVar\r\n","$SpecVar\r\n$Variable1\r\n",$file);
$file = str_replace("</body>\r\n","$Variable2\r\n</body>\r\n",$file);
// пишем обратно
$fp = fopen ($msg1, 'w');
fwrite ($fp,$file);
fclose ($fp);
exit();
}
else
echo "Не введено значение в обязательное к заполнению поле <br>";
echo "<A href =# onClick='history.back()'>Вернуться к правке </a> <br>";
?>
</BODY>
</HTML>
3. файл для редактирования
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<!– saved from url=(0025)http://www.techsmith.com/ –>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="DC.date" content="вторник, Апрель 15, 2008" />
<meta name="DC.language" content="ENU" />
<meta name="DC.title" content="прилади_small3" />
<title>Created by Camtasia Studio 5</title>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="prylady3.js"></script>
<link rel="stylesheet" type="text/css" href="FlashTemplate.css"/>
</head>
<body id="cs_flashBody" >
<div id="flashcontent">
<div id="cs_noexpressUpdate">
<p>The Camtasia Studio video content presented here requires JavaScript to be enabled and the latest version of the Macromedia Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.macromedia.com/go/getflashplayer">downloading here</a>. </p>
</div>
</div>
<script type="text/javascript">
// <![CDATA[
var fo = new SWFObject( "prylady3_controller.swf", "csSwf", "960", "499", "8", "#FFFFFF" );
fo.addVariable( "csConfigFile", "prylady3_config.xml" );
fo.addVariable( "csColor" , "FFFFFF" );
fo.addVariable( "csPreloader" , "prylady3_preload.swf" );
if( args.movie )
{
fo.addVariable( "csFilesetBookmark", args.movie );
}
fo.write("flashcontent");
// ]]>
</script>
</body>
</html>
Опять же, если запустить дома на своем севаке, работает. А нужно, чтобы работала через удаленный сервак.
Спасибо большое, очень надеюсь на вашу помошь!!!!