PHP로 사용자 정의 클래스가 있습니다. 클래스를 serialize하고 텍스트 파일에 저장하면 나중에 다른 PHP 파일에서이를 직렬화 할 수 없습니다. 나는 개체의 클래스 함수를 호출 할 때 나는 모두의 클래스를 포함 할문자열에서 문자열 직렬화 해제 PHP가 작동하지 않음
... 비 객체에 [functioname()] 멤버 함수에
전화 받기 PHP 파일.
PHP 파일 1 :
$myobject = new myclass(); $temp = serialize($myobject); file_put_contents('serializetest.txt', $temp);
PHP 파일 2 :
$s = file_get_contents('serializetest.txt'); $newobject = unserialize($s);
는 직렬화 된 클래스가 적절를 unserialize 이유를 몇 가지 이유가 있나요? 내가 객체를 생성하고 사용하는 경우
업데이트
그것은 내가 관련이없는 저장된 객체를 unserialize 수있는 주요 기능입니다. 학급에서 형사 소송을 찾습니다. 두 객체가 완전히 다른 경우에도 새로운 객체를 만들고 사용하면 저장된 객체를 비 직렬화 할 수 있습니다. 즉 아래 코드는 작동하지만 코드의 처음 3 줄을 제거하면 안됩니다.
$tempcase = new Expungement(); $tempcase->searchCase('4B02305986','Public',true,false); echo "Case Number 1: " . $tempcase->caseno; $s = file_get_contents('serializetest.txt'); echo "Serialized Data: " . $s; $newcase = unserialize($s); echo "Case Number 2: " . $newcase->caseno;
클래스 정의가 파일 2에 있습니까? 파일 2는 여전히'myclass'가 무엇인지 알 필요가 있습니다. – Devon
클래스 파일을 두 페이지의 상단에 포함시킵니다. include_once 'myclass.php' – user3157910
'$ newobject'를 덤프하여 포함 된 것을 확인하려고 했습니까? – Devon