本文整理汇总了PHP中SplObjectStorage::unserialize方法的典型用法代码示例。如果您正苦于以下问题:PHP SplObjectStorage::unserialize方法的具体用法?PHP SplObjectStorage::unserialize怎么用?PHP SplObjectStorage::unserialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SplObjectStorage
的用法示例。
在下文中一共展示了SplObjectStorage::unserialize方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: uploadAction
public function uploadAction()
{
$request = $this->get('request');
$this->uploadFile = $request->files->get('file');
if (is_null($this->uploadFile)) {
die('File not found!');
}
$data = array('success' => false, 'error' => 'Upload error');
if ($this->uploadFile->isValid() && $request->get('secure_token') === $this->get('session')->get('secure_token')) {
$filesConfig = $this->container->getParameter('nfc_upload.types');
$fileSettings = $filesConfig[$request->get('type', 'default')];
$sessionAttr = $request->get('field');
$siteWebDir = $this->container->getParameter('nfc_upload.web_dir');
$validator = $this->getFileValidator($fileSettings);
if (!$validator) {
$data = array('success' => false, 'error' => 'To upload files on a website, you need to have JavaScript enabled in your browser');
return new JsonResponse($data);
}
$errorList = $this->get('validator')->validateValue($this->uploadFile, $validator);
if (count($errorList) == 0) {
$uploadDir = $this->get('kernel')->getRootDir() . '/../' . $siteWebDir . $fileSettings['upload_dir'];
if (!is_dir($uploadDir)) {
mkdir($uploadDir, 0777, true);
}
$fileName = 'file' . uniqid() . '.' . $this->uploadFile->getClientOriginalExtension();
$this->uploadFile->move($uploadDir, $fileName);
$fileObj = new \stdClass();
$fileObj->path = $uploadDir . '/' . $fileName;
$fileObj->extension = $this->uploadFile->getClientOriginalExtension();
$filesInfo = new \SplObjectStorage();
if ($this->get('session')->has('file_upload_' . $sessionAttr)) {
$filesInfo->unserialize($this->get('session')->get('file_upload_' . $sessionAttr));
}
$filesInfo->type = $request->get('type', 'default');
$filesInfo->attach($fileObj);
$this->get('session')->set('file_upload_' . $sessionAttr, $filesInfo->serialize());
$data = array('success' => true, 'file' => $fileSettings['upload_dir'] . '/' . $fileName, 'name' => $this->uploadFile->getClientOriginalName());
} else {
$data = array('success' => false, 'error' => $errorList[0]->getMessage());
}
}
return new JsonResponse($data);
}
示例2: handleFilesAndSave
public function handleFilesAndSave($field, $dir, $json = false)
{
$this->sessionAttr = 'file_upload_' . $field;
if ($this->session->has($this->sessionAttr)) {
$filesInfo = new \SplObjectStorage();
$filesInfo->unserialize($this->session->get($this->sessionAttr));
if ($this->config[$filesInfo->type]['type'] == 'file') {
$result = $this->saveFiles($filesInfo, $dir);
} elseif ($this->config[$filesInfo->type]['type'] == 'image') {
$result = $this->saveImages($filesInfo, $dir, $this->config[$filesInfo->type]['thumbnails']);
} else {
throw new \Exception('Unrecognized file type!');
}
$this->clearSessionAttr();
if ($json) {
$result = json_encode($result);
}
return $result;
} else {
return false;
}
}
示例3: SplObjectStorage
<?php
try {
$s = new SplObjectStorage();
$s->unserialize('s:31:"something which is not an array";');
} catch (UnexpectedValueException $e) {
var_dump($e->getMessage());
}
var_dump($s->count() == 0);
echo "===RUN2===\n";
try {
$s = new SplObjectStorage();
$s->unserialize('s:60:"something broken";');
} catch (UnexpectedValueException $e) {
var_dump($e->getMessage());
}
var_dump($s->count() == 0);
示例4: array
<?php
$data_provider = array(array(), new stdClass());
foreach ($data_provider as $input) {
$s = new SplObjectStorage();
var_dump($s->unserialize($input));
}
示例5: SplObjectStorage
<?php
$s = new SplObjectStorage();
try {
$s->unserialize(NULL);
} catch (UnexpectedValueException $e) {
echo $e->getMessage();
}
示例6: SplObjectStorage
echo 'serialize $myStorage into $serializedString';
echo '<br />';
echo 'create new SplObjectStorage as $ourStorageObject';
echo '<br />';
echo 'unserialize $serializedString into $ourStorageObject';
echo '<br />';
echo 'var_dump $myStorage and $ourStorageObject';
echo '<br />';
echo 'Is it the same object as $myStorage?';
echo '<br />';
echo 'result: ';
echo " It worked. It's the same object.";
echo '<br /><br />';
$serializedString = $myStorage->serialize();
$ourStorageObject = new SplObjectStorage();
$ourStorageObject->unserialize($serializedString);
var_dump($myStorage);
echo '<br /><br />';
echo '------------------------';
echo '<br /><br />';
var_dump($ourStorageObject);
echo '<br /><br />';
?>
</pre>
<p><a href="../index.html">back to data structures list</a></p>
<!-- END CUSTOM CONTENT -->
<!-- JAVASCRIPT FILES -->
<!-- libraries go here -->
示例7: SplObjectStorage
// 获得当前节点的值。也必须是调用rewind后,才可以调用getInfo。
$obj->getInfo();
// current()
// 获得当前节点对象
$obj->current();
// getHash()
// 获得参数的hash值
$obj->getHash($a2);
// next()
// 指针移到下一个节点
$obj->next();
// offsetExists
// 判断对象容器中是否存在该对象
$obj->offsetExists($a2);
// offsetSet()
// 给对象容器中的某个对象设置值
$obj->offsetSet($a2, 'BBB');
// offsetGet()
// 获得对象容器中的某个针对象对应的值
$obj->offsetGet($a2);
// offsetUnset()
// 将某节点删除
//$obj->offsetUnset($a1);
// serialize()
// 将对象容器序列化
$serialize_obj = $obj->serialize();
// unserialize()
// 将对象容器反序列化
$obj_2 = new SplObjectStorage();
$obj_2->unserialize($serialize_obj);
var_dump($obj_2);
示例8: array
<?php
$badblobs = array('x:i:2;i:0;,i:1;;i:0;,i:2;;m:a:0:{}', 'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};R:2;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', 'x:i:3;O:8:"stdClass":0:{},O:8:"stdClass":0:{};r:2;,i:1;;O:8:"stdClass":0:{},r:2;;m:a:0:{}', 'x:i:1;O:8:"stdClass":0:{},N;;m:s:40:"1234567890123456789012345678901234567890"');
foreach ($badblobs as $blob) {
try {
$so = new SplObjectStorage();
$so->unserialize($blob);
var_dump($so);
} catch (UnexpectedValueException $e) {
echo $e->getMessage() . "\n";
}
}
echo "DONE\n";
示例9: array
<?php
$data_provider = array(12345, 1.2345, PHP_INT_MAX, 'x:rubbish', 'x:i:2;O:8:"stdClass":0:{},s:5:"value";;m:a:0:{}');
foreach ($data_provider as $input) {
$s = new SplObjectStorage();
try {
$s->unserialize($input);
} catch (UnexpectedValueException $e) {
echo $e->getMessage() . PHP_EOL;
}
}
示例10: SplObjectStorage
<?php
$s = new SplObjectStorage();
$o1 = new StdClass();
$o2 = new StdClass();
$s->attach($o1, "d1");
$s->attach($o2, "d2");
$serialized = $s->serialize();
$s2 = new SplObjectStorage();
$s2->unserialize($serialized);
var_dump($s == $s2);