php - 如何使用 PHP 上传图片
问题描述
我不能在我的项目中上传一个文件。我有一个商店的管理员页面,用户应该能够在其中创建产品。我使用了一种表单,用户可以在其中输入所需的所有数据。我无法将产品图片上传到我的服务器。我的第一次尝试是将表单提交给数据库处理程序,但除了 $_FILES 属性之外的所有内容都已填写。所以我尝试了其他格式,但没有任何效果。我最后一次尝试是在提交后留在同一个文件中,但 $_FILES 仍然为空。
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST"){
echo "<pre>";
print_r($_POST);
print_r($_FILES);
echo "</pre>";
die();
}
?>
<form id="create-item-form" action="" method="post">
<label for="new_product_image_field">Image:</label>
<input type="file" id="new_product_image_field" name="new_product_image">
<label for="new_product_name_field">Name:</label>
<input type="text" id="new_product_name_field" name="new_product_name" required>
<label for="new_product_alcoholContent_field">Alcohol Content:</label>
<input type="number" id="new_product_alcoholContent_field" name="new_product_alcoholContent"
min="1" max="20" step="0.1">
<label for="new_product_price_field">Price:</label>
<input type="number" id="new_product_price_field" name="new_product_price"
min="0" step="0.1">
<label for="new_product_description_field">Description</label>
<textarea name="new_product_description" id="new_product_description_field" cols="30" rows="10" required></textarea>
<input type="submit" value="Create" id="create_new_product_button" name="create_new_product">
</form>
结果:
Array
(
[new_product_image] => beer.jpg
[new_product_name] => b
[new_product_alcoholContent] => 2
[new_product_price] => 2
[new_product_description] => b
[create_new_product] => Create
)
Array
(
)
我会很感激一些帮助
解决方案
请在您的表单中添加 enctype 属性。
<form action="" method="post" enctype="multipart/form-data">
如果您需要更多帮助,请告诉我,因为您的代码中缺少很多部分,例如获取上传文件的临时名称,move_uploaded_file()
您的代码中没有这样的方法,所以我没有像我一样放下这些步骤m 假设您已经熟悉如何处理上传的文件
推荐阅读
- excel - 无论用户如何,都将 csv 保存到桌面
- puppet - puppetserver ca 命令在使用 SRV 记录时无法连接到 https://puppet:8140 解决方案
- php - Wordpress 限制帖子的字数会禁用格式
- python - 在使用 dropwhile 函数跳过注释行之后读取第一个非注释行时出现问题
- c# - 一个请求期间的异步/等待过多会导致在 Linux 上的 ASP.NET Core 3.0 中挂起
- javascript - 带有 id 的图像不会服从 javascript 更改其 z-index (或者有时只是正确)
- eclipse - Eclipse EMF 比较 XML 文件
- twitter-bootstrap-3 - 单击时重置引导附加位置
- c - PETSc 挂在 MatView() 上
- r - 读取 CSV 文件并只保留几列