외부 서버의 응답을 텍스트 파일에 저장 했으므로 연결 요청을 계속 실행하지 않아도됩니다. 대신, 다시 연결하기 위해 읽을 때까지 아마도 조작 목적으로 텍스트 파일을 사용할 수 있습니다. 여기PHP 배열을 텍스트 파일에 저장했습니다.
내가 텍스트 파일로 저장 한 것입니다 (또한, 내 연결 요청이 외부 서버로 제한됩니다) :
records.txt 더 배열에 실제로있다
Array
(
[0] => stdClass Object
(
[id] => 552
[date_created] => 2012-02-23 10:30:56
[date_modified] => 2012-03-09 18:55:26
[date_deleted] => 2012-03-09 18:55:26
[first_name] => Test
[middle_name] =>
[last_name] => Test
[home_phone] => (123) 123-1234
[email] => [email protected]
)
[1] => stdClass Object
(
[id] => 553
[date_created] => 2012-02-23 10:30:56
[date_modified] => 2012-03-09 18:55:26
[date_deleted] => 2012-03-09 18:55:26
[first_name] => Test
[middle_name] =>
[last_name] => Test
[home_phone] => (325) 558-1234
[email] => [email protected]
)
)
, 그러나 나는 2가 좋다고 확신한다.
이것은 텍스트 파일이므로 실제 외부 서버 (동일한 정보를 보내는 서버) 인 것처럼 가장하고 싶습니다. 어떻게 다시 실제 배열로 만들 수 있습니까?
은 내가 먼저 파일을 열 필요가 알고
<?php
$fp = fopen('records.txt', "r"); // open the file
$theData = fread($fh, filesize('records.txt'));
fclose($fh);
echo $theData;
?>
지금까지 $theData
은 문자열 값입니다. 거기에 그것을 원래로 온 배열로 다시 변환하는 방법이 있나요?
당신은 확실히 var_export'ed 데이터를 배열로 다시 변환 할 수 있습니까?! FYI, php.net manual에 또 다른 사실이 나와 있습니다. var_export()는 순환 참조를 처리하지 못하기 때문에 구문 분석 가능한 PHP 코드를 생성 할 수 없기 때문입니다. 배열이나 객체의 완전한 표현으로 무언가를하고 싶다면 serialize()를 사용하십시오. – rajukoyilandy
@rajukoyilandy : 둘 다 serialize하거나 json_encode을 사용할 수 없습니다. 순환 참조는 객체 구조의 경우이지만 일반 배열에는 OP가 포함되지 않습니다. 'var_export' 파일은 일반적으로 PHP를 다시 include()하는 간단한 PHP 코드입니다. 주의 깊게 사용해야하지만 구성 파일에는 매우 중요합니다. – mario
var_export는 print_r 또는 var_damp와 같습니다. – Sergey