【问题标题】:how to post an entire object hidden in a form in php如何在php中发布隐藏在表单中的整个对象
【发布时间】:2017-10-06 18:01:12
【问题描述】:

我有一个原始文件的对象,我想以邮寄形式发送这个对象。

当我尝试这个时:

{{ Form::open(array('url' => 'mgmtUser/upload_img_crop/', 'method' => 'POST', 'files' => true)); }}
    <input hidden type="file" name="file" value="<?php $file; ?>">
    <?= Form::hidden('x', '', array('id' => 'x')) ?>
    <?= Form::hidden('y', '', array('id' => 'y')) ?>
    <?= Form::hidden('w', '', array('id' => 'w')) ?>
    <?= Form::hidden('h', '', array('id' => 'h')) ?>
    <?= Form::submit('Crop it!') ?>
    <?= Form::close() ?>

帖子结果只有: [“文件”]=> NULL

为什么以及如何获取所有对象,我应该编码、序列化...? 我在laravel 4上。 $文件是:

对象(Symfony\Component\HttpFoundation\File\UploadedFile)#9 (7) { ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> 布尔(假) ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(11) "3bb13ad.jpg" ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> 字符串(10)“图像/JPEG” ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> 整数(8017) ["错误":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(0) ["pathName":"SplFileInfo":private]=> 字符串(14) "/tmp/phpVGS9Cu" ["fileName":"SplFileInfo":private]=> 字符串(9) "phpVGS9Cu" }

【问题讨论】:

  • 您传递给隐藏输入的$file 的值是多少?
  • 我把值放在问题中

标签: php forms file object hidden


【解决方案1】:

如果您实际上是在尝试通过表单发送$file 对象,则需要将其序列化为某种文件格式(例如写入.txt 文件)然后上传通过输入。

看起来$file 对象包含与您可能尝试上传的文件相关的属性,而不是实际的 PHP 文件句柄对象。如果是这种情况,您应该只更改以下行

<input hidden type="file" name="file" value="<?php $file; ?>">

成为

<input hidden type="file" name="file" value="<?php $file.originalName; ?>">

编辑

如果您需要在表单提交后处理文件句柄,请尝试以下操作:

<input hidden type="file" name="file" value="<?php echo json_encode($file) ?>">

那么当你在接收端时,使用

$file = json_decode($_POST['file']); 

访问对象。

【讨论】:

  • 是的,但是对于名称,我不能作为文件使用,例如这个函数(ImageCreateTrueColor、imagecopyresampled 和 $file->move())
猜你喜欢
  • 2016-10-03
  • 2014-12-31
  • 2014-10-19
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多