php - 如何在 PHP 中获取表单图像数据
问题描述
这是我发布带有图片的广告的 HTML
<form id="product-form" name="myForm" action="{{ path_for( 'insert',{'user_id': userId} ) }}" method="GET" >
<table>
<tr>
{% for count in 1..10 %}
<td id="form-image{{loop.index}}" class="form-input-image">
<input type="radio" name="cover-image" title="Cover Image" id="cover-image{{loop.index}}" class="cover-image" value="{{loop.index}}">
<label for="file{{loop.index}}"> <img src="/OLX/Views/images/add_image.png" id="image{{loop.index}}" ></label>
<input type="file" accept="image/*" name="image" id="file{{loop.index}}" onchange="change({{loop.index}},event)" style="display: none;">
</td>
{% endfor %}
</tr>
</table>
</form>
这是我的控制器功能
public function insertProduct( Request $request, Response $response, $intUserId ) {
$arrmixInputData = $request->getParams();
$intCoverImageNumber = $arrmixInputData["cover-image"];
$filename = $_FILES['image'];
var_dump($filename);
die();
}
这是我的网址
http://localhost:8888/Products/insertProduct/2?title=Title&category_id=1&price=12345&purchase_date=2020-04-25&description=SAssds&cover-image=1&image=WIN_20190705_18_22_39_Pro.jpg
这是输出
Notice: Undefined index: image in F:\Xento_OLX_API's\Application\Controllers\OLX\COlxUserController.php on line 171
NULL
解决方案
您的 HTML 中没有表单声明标记。如果您想将表单发送到服务器/如果您必须将文件发送到服务器,您应该使用正确的表单标签和 enctype
<form action="/action_page_binary.asp" method="post" enctype="multipart/form-data">
....... all your input tags here.
</form>
您可以在此处了解有关 HTML 表单的更多信息
如果您使用框架,则必须遵循文档,因为您将无权访问全局 $_FILES
$uploadedFiles = $request->getUploadedFiles();
$uploadedFiles = $request->file('photo');
推荐阅读
- symfony - Symfony Security 组件注册表单 ChoiceType 字段作为数组插入 bdd(对于用户作为的角色)
- jquery - jquery datatable - 如何从选定的行中获取值
- amazon-web-services - 如何最好地在 AWS Neptune 中建模数据
- c# - 有没有办法调试/询问我的 .NET 应用程序通过互操作调用的 COM 程序集?
- keras - 将简单的 cnn 从 keras 转换为 pytorch
- python - 找不到键盘映射“Windows 正确重做”
- azure-databricks - Azure Databricks 群集本地存储最大大小
- java - 为什么我的 return 语句不会打印字符串?
- scala - Spark SQL在列中查找最小值并获取整行
- javascript - 滚动后如何使透明导航栏具有背景色?