PDA

Просмотр полной версии : Загрузка XML файла в РНР файл редактирования?


forward
05.05.2008, 18:52
Привет ВСЕМ!!!

Люди подскажите как можно так сделать чтоб в окно с прокруткой находящееся в рнр или html файле в грузился xml файл для последующего редактирования и сохранения?

Заранее СПАСИБО!:)

KoLar
06.05.2008, 15:54
<xml id='xml1' src='test.xml'></xml>

Теперь через яваскрипт можно по ид получить доступ к древу xml. в частности можно в текстовое поле загрузить содержимое древа

forward
07.05.2008, 15:59
Можно примерчик а то я с Java мало сталкивался...:)

dmx102
08.05.2008, 17:48
Причем здесь 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>

forward
13.05.2008, 11:07
Спасибо за вступление, все получилось а вот как сделать чтобы можно было сохранять 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>

:) Помогите пожалуйста очень надо...

dmx102
15.05.2008, 10:24
А в чем собственно проблама?
Оператор file_put_contents - сохраняет содержимое второй переменной в файл по имени первой переменной.

Если у тебя выходят какие-то ошибки, будет неплохо если вы ими с нами поделитесь...

А так, смотрите в сторону указания пути, может что-то там напутали, или не имеете прав доступа в ту директорию средствами php.

Ваш код будет использоваться только одним пользователем?, если нет, тогда смотрим хелп по ф-ции и задаем нужный флаг.

forward
15.05.2008, 11:30
Вот я сделал по своему, изменения добавляются, но не перезаписываються, вот гляньте :

Первый файл выводит на редактирование 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";
}
?>

Помогите с перезаписью....плиз:)

dmx102
15.05.2008, 17:49
У вас первый код и так выполняет оба действия, включая перезапись!

forward
15.05.2008, 18:15
Спасибо всем заработало!!!

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

ilzhan
13.06.2008, 04:46
Notice это извещение, сообщение, уведомление; предупреждение а не ошибка.
Появляется она из-за того что переменной $_POST['filename'] попросту нет когда просто запускаете скрипт.