草庐IT

指令序列

全部标签

PHP 更新序列化数据

我需要一些帮助来反序列化和更新数组值并重新序列化它们(使用php)。基本上我希望能够反序列化一个字符串,更新特定键的值(不丢失其他值)并重新序列化它。我已经搜索过,但似乎找不到可行的解决方案(或者我可能只是typhlotic)。我要更新的数组非常简单。它有一个键和一个值。array('key'=>'value','key2'=>'value2',)我目前有,但它不起作用。foreach(unserialize($serializedData)as$key=>$val){if($key=='key'){$serializedData[$key]='newValue';}}$updated

php - 为什么不能序列化 PDO 对象?

我正在制作一个多线程CLI-PHP应用程序,需要序列化​​PDO对象以在线程内部的工作之间传递它,并使用魔术方法将其从休眠线程中唤醒__sleep()和__wakeup()。但是PDO或mysqli扩展也不支持它。旧的mysql_*()api执行此操作,但它已被弃用和删除。产生错误PHPFatalerror:Uncaughtexception'PDOException'withmessage'YoucannotserializeorunserializePDOinstances'inW:\workspace\Sandbox\application.php:5Stacktrace:#0[

php - 检查字符串是否在 PHP 中序列化

我正在为我的应用程序构建Redis数据库的缓存层,我已经到了要处理数组的地步。我想知道是否有任何好的(高性能!)方法可以使用PHP控制要序列化或不序列化的字符串?非常感谢! 最佳答案 $array=@unserialize($string);if($array===false&&$string!=='b:0;'){//woops,thatdidn'tappeartobeanythingserialized}$string!=='b:0;'检查序列化字符串的值是否为false。如果此检查对您很重要,您可能需要修剪序列化字符串或以其他方

PHP 上传的文件超过php.ini中的upload_max_filesize指令

在将其标记为重复之前,请听我说完。我已经尝试了所有可以在网上找到的建议。没有工作。我已经重启无数次了。下面是我尝试过的详细列表。这是我的设置:Nginx1.10PHP7.0WordPress4.7我使用的是VPS。我可以访问和控制每个文件!这是我想做的:增加我的WordPress的上传文件大小。为什么?每当我上传大于2兆字节的文件时,我都会收到此错误:上传的文件超出了php.ini中的upload_max_filesize指令。这就是它告诉我的全部内容。这是我所做的:一个。所以出于常识,我进入/etc/php/7.0/cli/php.ini因为php.ini-i告诉我加载的配置来自那个

由JSON序列化的导入JSON失败

所以我有一个带有一些字段的对象...protectedStringname;protectedStringrelativePathAndFileName;protectedDateTimenext_Run;protectedArrayListhosts;这样将其序列化为JSON:publicvoidserialize(){Gsongson=Converters.registerDateTime(newGsonBuilder()).setPrettyPrinting().create();Stringjson=gson.toJson(this);try{FileWriterwriter=newF

php - 序列化实际上做了什么?

我读过serializeGeneratesastorablerepresentationofavalue但这是什么意思?这里的“可存储表示”是什么?谁能举个例子解释一下? 最佳答案 它生成变量的字符串表示形式。例子:$var=array('product1'=>array('color'=>'red','size'=>'L'),'product2'=>array('color'=>'blue','size'=>'M'));echoserialize($var);输出:a:2:{s:8:"product1";a:2:{s:5:"col

php - 删除从最后一次出现的特定字符序列开始的所有字符

我正在解析一些电子邮件。MobileMail、iPhone和我假设iPodtouch附加一个签名作为单独的边界,使其易于删除。并非所有邮件客户端都这样做,只需使用“--”作为签名分隔符即可。我需要从字符串中删除“--”,但只删除它的最后一次出现。样本复制hello,thisissomeemailcopy--checkthisout--TomFoolery我考虑过在'--'上拆分,删除最后一部分,我会这样做,但是explode()和split()似乎都没有返回如果没有匹配,让我知道它是否做了任何事情,这很有值(value)。我无法让preg_replace()跨越不止一行。我已将所有行结

php - 序列化添加意外数据

$post=&$_POST;$arr=$post['articles'];var_dump($arr);//array(size=3)0=>string'145'(length=3)1=>string'123'(length=3)2=>string'128'(length=3)$sArr=serialize($arr);var_dump($sArr);//string'a:3:{i:0;s:3:"145";i:1;s:3:"123";i:2;s:3:"128";}'(length=48)die();我有一个数组,我希望将其序列化以存储在我的数据库中。但是输出不是预期的,我需要这样的字符

php - 序列化可通过 php 扩展访问的 c++ 类的问题

我编写了一个公开了许多类的C++库。我还使用zend编写了一个php扩展,作为c++库的包装器。我在正确序列化我的对象时遇到问题,例如,当我尝试将它们存储在$_SESSION中时。这是一个例子:structspider_object{zend_objectm_std;Spider::QGramTokenizer*m_pObject;};...zend_class_entry*spider_QGramTokenizer_ce;PHP_METHOD(spider_QGramTokenizer,__construct){longlQGramSize;if(zend_parse_paramet

php - 错误多个指令 [bar, bar] 在使用自定义指令和 angular-bootstrap 时询问模板

我试图创建一个自定义指令,在我的指令模板中,我包含了一个angular-bootrstrap库的指令。在这种情况下,弹出指令。当我运行我的应用程序时,出现以下错误:Error:[$compile:multidir]Multipledirectives[bar,bar]askingfortemplateon:navbar-defaultprogress-bar"ng-class="type&&'progress-bar-'+type"role="navigation>progressbar"aria-valuenow="{{value}}"aria-valuemin="0"aria-va