0
나는 모든 객체의 XML 파일을 만드는 내 클래스 중 하나에 PHP 함수를 가지고 있습니다. 이 코드입니다 :PHP를 작성하는 XML - 파일을 저장하지 않고
function writeXML(){
//LOAD PROFILE
//print "Profiles: <br>";
//$pro = new Profile();
$profileArray = $this->getAll();
//var_dump($profileArray);
//CHECK TO SEE IF THE XML FILE EXISTS IN THE LIBRARY/CONFIGURATION
if(file_exists($_SESSION['ini'][rootPath] . "v/p.xml")){
unlink($_SESSION['ini'][rootPath] . "v/p.xml");
}
//CREATE XML FILE
//CREATE ROOT NODE
$doc = new DOMDocument("1.0");
$doc->formatOutput = true;
//CREATE ROOT NODE
print "Creating nodes";
$root = $doc->createElement("profiles");
$root = $doc->appendChild($root);
//ADD NODES
//print "<br>Creating children";
foreach($profileArray as $member){
//AS WE CYCLE THROUGH THE ARRAY GET THE ARRAY OF OBJECT PARAMETERS
$memberArray = $member->toArray();
//var_dump($memberArray);
//CREATE MEMBER NODE TO ROOT
$person = $doc->createElement("profile");
$person = $root->appendChild($person);
//CREATE CHILD NODES FOR MEMBER
/*
* ID IS NOT NEEDED FOR IOS APP
$id = $doc->createElement("ID");
$id = $person->appendChild($id);
$idValue = $doc->createTextNode($member->get_id());
$idValue = $id->appendChild($idValue);
*/
$lastName = $doc->createElement("lastName");
$lastName = $person->appendChild($lastName);
//$lastNameValue = $doc->createTextNode($member->get_lname());
$lastNameValue = $doc->createTextNode($memberArray['lastName']);
$lastNameValue = $lastName->appendChild($lastNameValue);
$firstName = $doc->createElement("firstName");
$firstName = $person->appendChild($firstName);
$firstNameValue = $doc->createTextNode($memberArray['firstName']);
//$firstNameValue = $doc->createTextNode($member->get_fname());
$firstNameValue = $firstName->appendChild($firstNameValue);
$mobile = $doc->createElement("mobile");
$mobile = $person->appendChild($mobile);
$mobileValue = $doc->createTextNode($memberArray['mobile']);
//$mobileValue = $doc->createTextNode($member->get_mobile());
$mobileValue = $mobile->appendChild($mobileValue);
$phone = $doc->createElement("phone");
$phone = $person->appendChild($phone);
$phoneValue = $doc->createTextNode($memberArray['phone']);
//$phoneValue = $doc->createTextNode($member->get_phone());
$phoneValue = $phone->appendChild($phoneValue);
$email = $doc->createElement("email");
$email = $person->appendChild($email);
$emailValue = $doc->createTextNode($memberArray['email']);
//$emailValue = $doc->createTextNode($member->get_email());
$emailValue = $email->appendChild($emailValue);
$altEmail = $doc->createElement("altEmail");
$altEmail = $person->appendChild($altEmail);
$altEmailValue = $doc->createTextNode($memberArray['altEmail']);
//$altEmailValue = $doc->createTextNode($member->get_altemail());
$altEmailValue = $altEmail->appendChild($altEmailValue);
$street = $doc->createElement("address");
$street = $person->appendChild($street);
$streetValue = $doc->createTextNode($memberArray['street']);
//$streetValue = $doc->createTextNode($member->get_street());
$streetValue = $street->appendChild($streetValue);
$city = $doc->createElement("city");
$city = $person->appendChild($city);
$cityValue = $doc->createTextNode($memberArray['city']);
//$cityValue = $doc->createTextNode($member->get_city());
$cityValue = $city->appendChild($cityValue);
$state = $doc->createElement("state");
$state = $person->appendChild($state);
$stateValue = $doc->createTextNode($memberArray['state']);
//$stateValue = $doc->createTextNode($member->get_state());
$stateValue = $state->appendChild($stateValue);
$zip = $doc->createElement("zip");
$zip = $person->appendChild($zip);
$zipValue = $doc->createTextNode($memberArray['zip']);
//$zipValue = $doc->createTextNode($member->get_zip());
$zipValue = $zip->appendChild($zipValue);
$image = $doc->createElement("image");
$image = $person->appendChild($image);
$imageValue = $doc->createTextNode($memberArray['image']);
$imageValue = $image->appendChild($imageValue);
$titles = $doc->createElement("title");
$titles = $person->appendChild($titles);
$titlesValue = $doc->createTextNode($memberArray['title']);
//$titlesValue = $doc->createTextNode($member->get_field5());
$titlesvalue = $titles->appendChild($titlesValue);
$group = $doc->createElement("group");
$group = $person->appendChild($group);
$groupValue = $doc->createTextNode($memberArray['group']);
$groupVAlue = $person->appendChild($groupValue);
}
print "<br>Saving XML<br><br>";
$xml_string = $doc->saveXML();
print "XML<br>";
print $xml_string;
print "<br>";
print "Path: " . $_SESSION['ini']['rootPath'] . "public_html/v/p.xml";
//if($doc->save($_SESSION['ini']['htmlPath'] . "v/p.xml")) return true;
//else return false;
print "Bytes: " . $doc->save($_SESSION['ini']['rootPath'] . "public_html/v/p.xml");
}
난 정말 saveXML
완료로이에 눈의 다른 세트를 필요로하고, 심지어 화면에 $xml_string
을 뱉는 다. 그러나 $doc->save
은 전혀 표시하지 않습니다.
아이디어가 있으십니까?
예, $ _SESSION이 (가) 설정되었습니다. 나는 실제로 그것을 확인하기 위해 화면에 출력한다. 조금 변경하고 $ fileName = 세션 일을 한 다음 저장 함수를 전달합니다. 그러나 XML 파일은 아직 없습니다. – CodeMoto
폴더 권한이 어쩌면? $ alldone = $ doc-> save ($ filename);'$ alldone'이'FALSE '이면 오류 로그를 검사하여 오류를 확인하십시오 (또는 오류 표시) –
어떤 로그를 확인할 것인가? ? 또는 오류를 표시하려면 어떻게합니까? 나는 디렉토리 권한을 설정했다 : sudo chmod ugo + rwx 권한이 문제가되지 않아야한다. –
CodeMoto