2017-05-08 43 views
0

我有一個對象,這是一個文件的起源,我想發送這個對象的後窗體。如何發佈隱藏在一個窗體中的整個對象在php

當我試試這個:

{{ 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的\元器件\ HttpFoundation \文件\ UploadedFile的)#9(7){ [ 「測試」:「的Symfony \元器件\ HttpFoundation \文件\「UploadedFile」:private] => bool(false) [「originalName」:「Symfony \ Component \ HttpFoundation \ File \ UploadedFile」:private] => string(11)「3bb13ad.jpg」 [「mimeType」 :「Symfony \ Component \ HttpFoundation \ File \ UploadedFile」:private] => string(10)「image/jpeg」 [「size」:「Symfony \ Component \ HttpFoundation \ File \ UploadedFile」 int(8017) [ 「error」:「Symfony \ Component \ HttpFoundation \ File \ UploadedFile」:private] => int(0)[「pathName」:「SplFileInfo」:private] => string(14) 「/ tmp/phpVGS9Cu」 「文件名」: 「SplFileInfo」:私人] =>字符串(9) 「phpVGS9Cu」}

+0

您傳遞給隱藏輸入的'$ file'的值是多少? – James

+0

我把價值的問題 – Matthieu

回答

1

如果你實際上是試圖通過形式發送$file對象,你需要序列化成某種文件格式(例如,寫入.txt文件),然後通過輸入上傳。

它看起來像$file對象包含與您可能試圖上傳的文件相關的屬性,而不是實際的PHP文件句柄對象。如果是這樣的話,你應該改變以下線

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

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

編輯

如果你需要用文件的工作處理的形式提交後,試試這個:

​​

然後當你在接收端,使用

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

訪問對象。

+0

是的,但與名稱,我不能作爲一個文件與例如這個函數(ImageCreateTrueColor,imagecopyresampled和$ file-> move()) – Matthieu

+0

@Matthieu看到我更新的答案。 – James

+0

我嘗試編輯但仍然:[「file」] => NULL – Matthieu

相關問題