我们有一个在PHP 5.6上运行的Laravel 3网站-我们刚刚将其更新为PHP 7.1
该网站正在正常运行,除了一个小问题...
我们有一个用于上传图片的表格...这称为post_add_image
函数(见下文):
public function post_add_image($intOverlayId) {
$objOverlay->addOverlayImage($intOverlayId, Input::file());
return Redirect::to_action('cms::productoverlays@index');
}
addOverlayImage
函数是:
public static function addOverlayImage($intOverlayId, $arrFileUploads)
{
// get defined file-location
$strFileLocation = \Config::get('cms::settings.overlayImageLocation');
foreach($arrFileUploads as $strFieldName => $arrFileUpload) {
$strFileExt = \File::extension($arrFileUpload['name']);
if ($strFileExt) {
$strFileNameNoExtension = $intOverlayId."_".md5(time().rand(0,9999999999999999));
$strFileName = $strFileNameNoExtension.'.'.$strFileExt;
echo "Uploading: ".path('public').$strFileLocation.$strFileName."<br/>";
if (\Input::upload($strFieldName, path('public').$strFileLocation, $strFileName)) {
$objOverlay = \CMS\ProductOverlay::find($intOverlayId);
$objOverlay->strFileLocation = $strFileLocation;
$objOverlay->strOverlayImage = $strFileName;
if ($objOverlay->isValid())
$objOverlay->save();
else
\Log::error('Error whilst trying to upload the file \''.$arrFileUpload['name'].'\'.');
}
else {
\Log::error('Error whilst trying to upload the file \''.$arrFileUpload['name'].'\'.');
}
}
else {
$arrOutput[$strFieldName] = '';
}
}
return;
}
当我们调用它时,我们从echo "Uploading: ".path('public').$strFileLocation.$strFileName."<br/>";
行获取输出,但是代码从不返回页面-它似乎结束了。如前所述,这在PHP 5.6中非常有效
有人知道为什么会这样吗?