|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-01-01 18:04 UTC] mail at alexanderklein dot de
Description:
------------
I use the __autoload($sClass) feature, and the $sClass
names are always transmitted as is. With upper and
lower characters.
But when i cache a class with serialize and try
to unserialize, the $sClass names are only lowercase.
System 1
System Windows NT 5.1
Build Date Jan 1 2004 16:06:44
Server API CGI/FastCGI
PHP API 20031224
PHP Extension 20020429
Zend Extension 90021012
System 2
System Linux * 2.4.18 #1 SMP i686
Build Date Dec 23 2003 04:48:50
Server API Apache
Virtual Directory Support disabled
PHP API 20031103
PHP Extension 20020429
Zend Extension 90021012
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 19:00:01 2025 UTC |
A short sample script STEP One: function __autoload($sClass) { echo $sClass."<br>"; } ini_set( 'unserialize_callback_func', '__autoload' ); class myTestWithUpper { public $test; protected function __sleep() { return array('test'); } } file_put_contents( "./test.dat", serialize( new myTestWithUpper() ) ); STEP Two: unserialize( file_get_contents ("./test.dat") );Behavior is correct as you can see below: marcus@zaphod /usr/src/php5 $ php -r 'class FOO{}$o=new FOO;var_dump(serialize($o));' string(14) "O:3:"FOO":0:{}" marcus@zaphod /usr/src/php5 $ php -r '$o=unserialize("O:3:\"FOO\":0:{}");var_dump($o);' object(__PHP_Incomplete_Class)#1 (1) { ["__PHP_Incomplete_Class_Name"]=> string(3) "foo" } marcus@zaphod /usr/src/php5 $ php -r 'class FOO{}$o=unserialize("O:3:\"FOO\":0:{}");var_dump($o);' object(FOO)#1 (0) { }