Просмотр полной версии : Загрузка XML файла в РНР файл редактирования?
Привет ВСЕМ!!!
Люди подскажите как можно так сделать чтоб в окно с прокруткой находящееся в рнр или html файле в грузился xml файл для последующего редактирования и сохранения?
Заранее СПАСИБО!:)
<xml id='xml1' src='test.xml'></xml>
Теперь через яваскрипт можно по ид получить доступ к древу xml. в частности можно в текстовое поле загрузить содержимое древа
Можно примерчик а то я с Java мало сталкивался...:)
Причем здесь JAVA?!
Примитивный вариант, но надоже вам с чего-то начинать
index.php:
<form method="post">
<textarea name="textbox">
<?php
if(isset($_POST["textbox"])){
file_put_contents("/data/yourxml.xml", $_POST["textbox"]);
}
echo file_get_contents("/data/yourxml.xml");
?>
</textarea>
<input type="submit">
</form>
Спасибо за вступление, все получилось а вот как сделать чтобы можно было сохранять xml:
<form method="post">
<textarea name="textbox" cols="70" rows="20">
<?php
if(isset($_POST["textbox"])){
file_put_contents("../../banner/mailTranslation.xml", $_POST["textbox"]);
}
echo file_get_contents("../../banner/mailTranslation.xml");
?>
</textarea>
<input value="Сохранить" type="submit" />
</form>
:) Помогите пожалуйста очень надо...
А в чем собственно проблама?
Оператор file_put_contents - сохраняет содержимое второй переменной в файл по имени первой переменной.
Если у тебя выходят какие-то ошибки, будет неплохо если вы ими с нами поделитесь...
А так, смотрите в сторону указания пути, может что-то там напутали, или не имеете прав доступа в ту директорию средствами php.
Ваш код будет использоваться только одним пользователем?, если нет, тогда смотрим хелп по ф-ции и задаем нужный флаг.
Вот я сделал по своему, изменения добавляются, но не перезаписываються, вот гляньте :
Первый файл выводит на редактирование xml файл и передает его другому в переменной $textbox:
<form action=addxml.php method=post>
<textarea class=input cols=70 rows=20 name=textbox>
<?php
if(isset($_POST["textbox"])){
file_put_contents("../../banner/mailTranslation.xml", $_POST["textbox"]);
}
echo file_get_contents("../../banner/mailTranslation.xml");
?>
</textarea>
<input type="submit" value="Сохранить">
</form>
Второй файл открывает этот файл xml как переменную $somecontent и записывает в него переменную $textbox которую передал первый файл:
<?php
$somecontent = '../../banner/mailTranslation.xml';
//Файл существует и перезаписываем сначала.
if (is_writable($somecontent)) {
//Открываем $somecontent
if (!$handle = fopen($somecontent, 'a')) {
echo "Cannot open file ($somecontent)";
exit;
}
// Записать $textbox в открытый файл $somecontent.
if (fwrite($handle, $textbox) === FALSE) {
echo "Cannot write to file ($textbox)";
exit;
}
echo "Play лист обновлен";
fclose($handle);
} else {
echo "The file $textbox is not writable";
}
?>
Помогите с перезаписью....плиз:)
У вас первый код и так выполняет оба действия, включая перезапись!
Спасибо всем заработало!!!
setare1986
30.05.2008, 21:14
Здравствуйте.
У меня возникла такая же проблема, но в отличии от уже решенной задача, мне нужно ввести название файла и потом его редактировать.
К сожалению, когда я пишу ваш код, у меня выдаются ошибки. Как можно их решить?\
Заранее спасибо.
<html>
<body>
<form action=index_first.php method=POST>
<input type="submit" name="back" value="Home">
</form>
<form action=xml.php method=POST>
<input type="submit" name="back" value="Back">
</form>
<form action=editxml.php method=POST>
<input type=text name="filename" value='<?php echo $_POST ['filename'];?>' SIZE=50><BR>
<textarea name="textbox" rows=20 cols=100>
<?
if(isset($_POST["textbox"]))
{
$file=$_POST["filename"];
file_put_contents($file, $_POST["textbox"]);
}
if (isset($_POST["send"]))
{
$file=$_POST["filename"];
echo file_get_contents($file);
}
//"C:/Program Files/TopServer 2.1/home/localhost/UIR-php/fr1.xml"
?>
</textarea>
<input type=submit name="send" value="Input">
</form>
А ошибка следующая:
<br />
<b>Notice</b>: Undefined index: filename in <b>T:\home\localhost\UIR-php\editxml.php</b> on line <b>13</b><br />
124127
Notice это извещение, сообщение, уведомление; предупреждение а не ошибка.
Появляется она из-за того что переменной $_POST['filename'] попросту нет когда просто запускаете скрипт.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.