pars.php Код (Text): <?php //Файл test.xml содержит XML-документ с корневым элементом //и, по крайней мере, элемент /[root]/title. $file = $_FILES['userfile']; $xml = simplexml_load_file("$file"); //if (file_exists('$userfile')) { // $xml = simplexml_load_file("$userfile"); ///////////////////////////start echo $xml->Description->UserName; $UserName = $xml->Description->UserName; echo $xml->Description->Division; $Division = $xml->Description->Division; echo $xml->Description->ExportDate; $ExportDate = $xml->Description->ExportDate; /////////////////////////// echo $xml->Data->Task->ShortTask->Activity ["Title"] ; $ActivityT = $xml->Data->Task->ShortTask->Activity ["Title"] ; echo $xml->Data->Task->ShortTask->CategoryType ; $CategoryType = $xml->Data->Task->ShortTask->CategoryType ; echo $xml->Data->Task->ShortTask->Object ["Title"] ; $ObjectT = $xml->Data->Task->ShortTask->Object ["Title"] ; echo $xml->Data->Task->ShortTask->TaskNumber ; $TaskNumber = $xml->Data->Task->ShortTask->TaskNumber ; echo $xml->Data->Task->ShortTask->TaskYear ; $TaskYear = $xml->Data->Task->ShortTask->TaskYear ; echo $xml->Data->Task->ShortTask->TaskDate ; $TaskDate = $xml->Data->Task->ShortTask->TaskDate ; echo $xml->Data->Task->ShortTask->BeginDate ; $BeginDate = $xml->Data->Task->ShortTask->BeginDate ; echo $xml->Data->Task->ShortTask->BlankNumber ; $BlankNumber = $xml->Data->Task->ShortTask->BlankNumber ; echo $xml->Data->Task->ShortTask->ActivityPlace ["Title"] ; $ActivityPlaceT = $xml->Data->Task->ShortTask->ActivityPlace ["Title"] ; echo $xml->Data->Task->ShortTask->ActivityPhone ; $ActivityPhone = $xml->Data->Task->ShortTask->ActivityPhone ; echo $xml->Data->Task->ShortTask->CriminalCase ["Title"] ; $CriminalCaseT = $xml->Data->Task->ShortTask->CriminalCase ["Title"] ; echo $xml->Data->Task->ShortTask->CriminalCase ["Caption"] ; $CriminalCaseC = $xml->Data->Task->ShortTask->CriminalCase ["Caption"] ; echo $xml->Data->Task->ShortTask->CriminalCaseNumber ; $CriminalCaseNumber = $xml->Data->Task->ShortTask->CriminalCaseNumber ; echo $xml->Data->Task->ShortTask->CriminalCaseName ; $CriminalCaseName = $xml->Data->Task->ShortTask->CriminalCaseName ; echo $xml->Data->Task->ShortTask->JoinOpu ; $JoinOpu = $xml->Data->Task->ShortTask->JoinOpu ; echo $xml->Data->Task->ShortTask->Division ["Title"] ; $DivisionT = $xml->Data->Task->ShortTask->Division ["Title"] ; echo $xml->Data->Task->ShortTask->TaskType ; $TaskType = $xml->Data->Task->ShortTask->TaskType ; echo $xml->Data->Task->ShortTask->IMEI ; $IMEI = $xml->Data->Task->ShortTask->IMEI ; echo $xml->Data->Task->ShortTask->PrivacyLevel ["Title"] ; $PrivacyLevelT = $xml->Data->Task->ShortTask->PrivacyLevel ["Title"] ; echo $xml->Data->Task->ShortTask->PrivacyLevel ["Caption"] ; $PrivacyLevelC = $xml->Data->Task->ShortTask->PrivacyLevel ["Caption"] ; echo $xml->Data->Task->ShortTask->State ; $State = $xml->Data->Task->ShortTask->State ; /////////////// echo $xml->Data->Task->PhysAddress->Town ["Title"] ; $TownT = $xml->Data->Task->PhysAddress->Town ["Title"] ; echo $xml->Data->Task->PhysAddress->Town ["Caption"] ; $TownC = $xml->Data->Task->PhysAddress->Town ["Caption"] ; ////////////// echo $xml->Data->Task->Physical->LastName ["Title"] ; $LastNameT = $xml->Data->Task->Physical->LastName ["Title"] ; echo $xml->Data->Task->Physical->LastName ["Caption"] ; $LastNameC = $xml->Data->Task->Physical->LastName ["Caption"] ; ///////////// echo $xml->Data->Task->TaskInitiator->Subdivision ["Title"] ; $SubdivisionT = $xml->Data->Task->TaskInitiator->Subdivision ["Title"] ; echo $xml->Data->Task->TaskInitiator->Subdivision ["Caption"] ; $SubdivisionC = $xml->Data->Task->TaskInitiator->Subdivision ["Caption"] ; echo $xml->Data->Task->TaskInitiator->Agency ["Title"] ; $AgencyT = $xml->Data->Task->TaskInitiator->Agency ["Title"] ; echo $xml->Data->Task->TaskInitiator->FullName ["Title"] ; $FullNameT = $xml->Data->Task->TaskInitiator->FullName ["Title"] ; echo $xml->Data->Task->TaskInitiator->PhoneA ; $PhoneA = $xml->Data->Task->TaskInitiator->PhoneA ; echo $xml->Data->Task->TaskInitiator->PhoneB ; $PhoneB = $xml->Data->Task->TaskInitiator->PhoneB ; /////////////////// echo $xml->Data->Task->Orientation->CriminalDirection ["Title"] ; $CriminalDirectionT = $xml->Data->Task->Orientation->CriminalDirection ["Title"] ; echo $xml->Data->Task->Orientation->OrientationDescription ; $OrientationDescription = $xml->Data->Task->Orientation->OrientationDescription ; ////////////////// echo $xml->Data->Task->Target->Target ; $Target = $xml->Data->Task->Target->Target ; ///////////////// echo $xml->Data->Task->Sanction->JuridicalOrder ; $JuridicalOrder = $xml->Data->Task->Sanction->JuridicalOrder ; echo $xml->Data->Task->Sanction->Period ; $Period = $xml->Data->Task->Sanction->Period ; echo $xml->Data->Task->Sanction->SanctionDate ; $SanctionDate = $xml->Data->Task->Sanction->SanctionDate ; echo $xml->Data->Task->Sanction->IsFromConnectionMoment ; $IsFromConnectionMoment = $xml->Data->Task->Sanction->IsFromConnectionMoment ; // echo $xml->Data->Task->Sanction->SanctionPerson->Agency ; $Agency = $xml->Data->Task->Sanction->SanctionPerson->Agency ; echo $xml->Data->Task->Sanction->SanctionPerson->Post ; $Post = $xml->Data->Task->Sanction->SanctionPerson->Post ; echo $xml->Data->Task->Sanction->SanctionPerson->FullName ; $FullName = $xml->Data->Task->Sanction->SanctionPerson->FullName ; //////////////// echo $xml->Data->Task->AgencyDirectionAlt->CaptionTo ; $CaptionTo = $xml->Data->Task->AgencyDirectionAlt->CaptionTo ; echo $xml->Data->Task->AgencyDirectionAlt->CaptionFor ; $CaptionFor = $xml->Data->Task->AgencyDirectionAlt->CaptionFor ; /////////////// echo $xml->Data->Task->TaskEffectiveness->EffectivenessSign ; $EffectivenessSign = $xml->Data->Task->TaskEffectiveness->EffectivenessSign ; echo $xml->Data->Task->TaskEffectiveness->JudgeLegalize ; $JudgeLegalize = $xml->Data->Task->TaskEffectiveness->JudgeLegalize ; ///////////// echo $xml->Data->Task->CriminalClauses->CriminalClause->ParagraphNumber ["Title"] ; $ParagraphNumberT = $xml->Data->Task->CriminalClauses->CriminalClause->ParagraphNumber ["Title"] ; echo $xml->Data->Task->CriminalClauses->CriminalClause->ParagraphNumber ["Caption"] ; $ParagraphNumberC = $xml->Data->Task->CriminalClauses->CriminalClause->ParagraphNumber ["Caption"] ; echo $xml->Data->Task->CriminalClauses->CriminalClause->SubparagraphNumber ; $SubparagraphNumber = $xml->Data->Task->CriminalClauses->CriminalClause->SubparagraphNumber ; /////////////end } else { exit('Не удалось открыть файл xml.'); } //////////////// $link = mysql_connect('localhost', 'root', 'sa'); if (!$link) { die('Ошибка соединения: ' . mysql_error()); } mysql_select_db('test'); mysql_query('set names utf8'); mysql_query("INSERT INTO tbl_parser (UserName, Division, ExportDate, ActivityT, CategoryType, ObjectT, TaskNumber, TaskYear, TaskDate, BeginDate, BlankNumber, ActivityPlaceT, ActivityPhone, CriminalCaseT, CriminalCaseC, CriminalCaseNumber, CriminalCaseName, JoinOpu, DivisionT, TaskType, IMEI, PrivacyLevelT, PrivacyLevelC, State, TownT, TownC, LastNameT, LastNameC, SubdivisionT, SubdivisionC, AgencyT, FullNameT, PhoneA, PhoneB, CriminalDirectionT, OrientationDescription, Target, JuridicalOrder, Period, SanctionDate, IsFromConnectionMoment, Agency, Post, FullName, CaptionTo, CaptionFor, EffectivenessSign, JudgeLegalize, ParagraphNumberT, ParagraphNumberC, SubparagraphNumber) values ('$UserName', '$Division', '$ExportDate', '$ActivityT', '$CategoryType', '$ObjectT', '$TaskNumber', '$TaskYear', '$TaskDate', '$BeginDate', '$BlankNumber', '$ActivityPlaceT', '$ActivityPhone', '$CriminalCaseT', '$CriminalCaseC', '$CriminalCaseNumber', '$CriminalCaseName', '$JoinOpu', '$DivisionT', '$TaskType', '$IMEI', '$PrivacyLevelT', '$PrivacyLevelC', '$State', '$TownT', '$TownC', '$LastNameT', '$LastNameC', '$SubdivisionT', '$SubdivisionC', '$AgencyT', '$FullNameT', '$PhoneA', '$PhoneB', '$CriminalDirectionT', '$OrientationDescription', '$Target', '$JuridicalOrder', '$Period', '$SanctionDate', '$IsFromConnectionMoment', '$Agency', '$Post', '$FullName', '$CaptionTo', '$CaptionFor', '$EffectivenessSign', '$JudgeLegalize', '$ParagraphNumberT', '$ParagraphNumberC', '$SubparagraphNumber')"); /////////////////// ?> update.php Код (Text): <!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так --> <form enctype="multipart/form-data" action="pars.php" method="POST"> <!-- Поле MAX_FILE_SIZE должно быть указано до поля загрузки файла --> <input type="hidden" name="MAX_FILE_SIZE" value="300000000" /> <!-- Название элемента input определяет имя в массиве $_FILES --> Выберите файл: <input name="userfile" type="file" /> <input type="submit" value="Загрузить в базу" /> </form>
уф. очень нагромождённый код Код (PHP): $shortTask = $xml->Data->Task->ShortTask; $ActivityT = $shortTask->Activity["Title"]; закинул код в IDE. ошибку выдаёт на Код (Text): } else { непонятная первая скобочка. Глянул - а самого if условия то в коде у вас нет. Добавлено спустя 1 минуту 7 секунд: нашёл, условие есть, но вы и его до кучи закомментировали.
Я вставил этот кусок: Код (Text): $file = $_FILES['userfile']; $xml = simplexml_load_file("$file"); вместо этого: Код (Text): //if (file_exists('$userfile')) { // $xml = simplexml_load_file("$userfile"); я так понимаю выглядеть должно условие так? Код (Text): $file = $_FILES['userfile']; if (file_exists('$userfile')) { $xml = simplexml_load_file("$file"); отступление от темы, какое IDE для проверки использовать?! А вот с таким условием все работает: Код (Text): //if (file_exists('2835.xml')) { // $xml = simplexml_load_file("2835.xml");
ну что вы, голубчик. IDE используется не для проверки. Это, по сути, удобный редактор. С подсветкой синтаксиса и большинства ошибок. Какой использовать - решать только вам. Основные: NetBeans, phpStorm. phpStorm общепринят. Я использую phpDesigner.
Код (Text): $file = $_FILES['userfile']; if (file_exists('$userfile')){ $xml = simplexml_load_file("$file"); рузультат : Код (Text): Не удалось открыть файл xml.
Так. ещё раз. Файл находится в массиве $_FILES, имя его ТАМ, в МАССИВЕ - username. Далее вы даёте элементу массива имя - $file, а проверяете на наличие файл username if (file_exists('$userfile')){ которого у вас не существует
тогда сохранять файл на сервере, а потом использовать в скрипте https://php.net/manual/ru/features.file-upload.post-method.php
Взошла такая мысль: если xml парсить не срузу в базу а в форму Код (Text): <textarea name="UserName" rows="2" cols="30" wrap="virtual"> UserName </textarea><br> и только потом отправлять в базу ........ Код (Text): echo $xml->Description->UserName; $UserName = $xml->Description->UserName; както можно передать в Код (Text): <textarea name="UserName" rows="2" cols="30" wrap="virtual"> UserName </textarea><br> Получилось засунуть вот-так, но ооооочень криво..... Код (Text): <textarea><? echo htmlspecialchars($UserName)?></textarea> реализовал так Код (Text): <input type="text" name="name" value="<? echo htmlspecialchars($name,ENT_QUOTES)?>"> <textarea><? echo htmlspecialchars($text,ENT_QUOTES)?></textarea>
Сохранить то получилось, а вот как дальше? он сохранился под именем допустим 666, след 777, но парсер заточен то под конкретное имя...
Вы там документацию вообще не читаете? Код (PHP): $file = $_FILES['userfile']['tmp_name']; if (file_exists($file)){ $xml = simplexml_load_file($file); https://php.net/manual/ru/features.file-upload.post-method.php $_FILES['userfile']['tmp_name'] Временное имя, с которым принятый файл был сохранен на сервере.
Друг, Спасибо тебе огромное, Человек ты с Большой буквы!!!!! Все получилось! =) Нужно то всего лишь было.....