Php 从上载的文件读取内容时出错

Php 从上载的文件读取内容时出错,php,Php,代码 输出: 警告:第13行D:\xampp\htdocs\wrapp\config\insert\u pedido.php中的非法字符串偏移量“tmp\u name” 警告:文件\u get\u contents2:无法打开流:第13行的D:\xampp\htdocs\wrapp\config\insert\u pedido.php中没有此类文件或目录 警告:第14行D:\xampp\htdocs\wrapp\config\insert\u pedido.php中的非法字符串偏移量“tmp\u

代码

输出:

警告:第13行D:\xampp\htdocs\wrapp\config\insert\u pedido.php中的非法字符串偏移量“tmp\u name” 警告:文件\u get\u contents2:无法打开流:第13行的D:\xampp\htdocs\wrapp\config\insert\u pedido.php中没有此类文件或目录 警告:第14行D:\xampp\htdocs\wrapp\config\insert\u pedido.php中的非法字符串偏移量“tmp\u name” 警告:getimagesize2:无法打开流:在第14行的D:\xampp\htdocs\wrapp\config\insert_pedido.php中没有这样的文件或目录

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require_once('conexion.php');

$producto = $_POST['prod'];
$cantidad = $_POST['cant'];
$precio = $_POST['total'];
$cliente = $_POST['nombre'];
$email = $_POST['email'];
$telefono = $_POST['tel'];
$imgData = addslashes(file_get_contents($_POST['userImage']['tmp_name']));
$imageProperties = getimageSize($_POST['userImage']['tmp_name']);

if (empty($_POST['prod'])) {
// code...
echo "<script>alert('no as elejido nada del menu...');history.go(-1);</script>";
// header("location: ../index.php?enviado");
}else{
$sql = "INSERT INTO pagos_hystory 
(Producto,Cantidad,Precio,cliente,email_cli,celular,imageType,imageData) VALUES 
('$producto','$cantidad','$precio','$cliente','$email','$telefono','{$imageProperties['mime']}', 
'{$imgData}')";
$result = mysqli_query($link,$sql);

// header("location: ../index.php?enviado");
 // echo ("<script>
//   window.alert('Su pedido ha sido enviado con éxito!');
//   window.location.href='../';
//   </script>");
}

?>
似乎您的文件上载未成功,或者您的文件实际上使用了不同的输入名称

一个很好的调试方法是添加行

Warning: Illegal string offset 'tmp_name'
因此,当您尝试上载时,它将准确显示上载了哪些文件以及阵列的设置方式。如果没有显示,则表示没有上载的文件

编辑: 正如您的常识所指出的,您应该使用$\u文件来上传文件,而不是$\u POST

另外请注意,仅当您的表单具有以下内容时,才会上载文件 方法=后enctype=多部分/表单数据
添加了

帮助!这是我的项目意味着$\u POST['userImage']是一个字符串。我猜您想访问文件?请注意,构建查询的方式不安全。你对我敞开心扉。你应该用or来代替。或者他显然是看错了,这就是我将编辑我的答案的问题
print_r($_FILES);exit;