php - 警告:file_exists() 期望参数 1 是有效路径,数组在 C:\
问题描述
由于某种奇怪的原因,我收到了这个警告......这是完整的警告:
Warning: file_exists() expects parameter 1 to be a valid path, array given in C:\wamp64\www\Petrogas NCR applicatie\Insert.php on line 84
这是我的代码:
for($i = 0; $i < count($_FILES['attachments']['name']); $i++)
{
function resize_image($file,$max_resolution) {
if (file_exists($file)) {
$original_image = imagecreatefromjpeg($file);
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$ratio = $max_resolution / $original_width;
$new_width = $max_resolution;
$new_height = $original_height * $ratio;
if ($new_height > $max_resolution) {
$ratio = $max_resolution / $original_height;
$new_height = $max_resolution;
$new_width = $original_width * $ratio;
}
if ($original_image) {
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image,$original_image,0,0,0,0,$new_width,$new_height,$original_width,$original_height);
imagejpeg($new_image,$file,90);
}
}
}
$filetmp = $_FILES["attachments"]["tmp_name"][$i];
$filename = $_FILES["attachments"]["name"][$i];
$filepath = "images/".$filename;
if (move_uploaded_file($filetmp,$filepath)) {
$file = $_FILES['attachments']['name'];
resize_image($file, '50');
$querypictureupload = "INSERT INTO file_upload(ncrnummer,filename) VALUES ('$ncrnummer','$filename')";
$result = mysqli_query($conn, $querypictureupload);
}
}
我试图上传一张图片并调整它的大小。但是收到了这个奇怪的警告...
解决方案
更改脚本,因为您不应该在 for 循环中创建函数
for($i = 0; $i < count($_FILES['attachments']['name']); $i++)
{
$filetmp = $_FILES["attachments"]["tmp_name"][$i];
$filename = $_FILES["attachments"]["name"][$i];
$filepath = "images/".$filename;
if (move_uploaded_file($filetmp,$filepath)) {
$file = $_FILES['attachments']['name'];
resize_image($file, '50', $filepath);
$querypictureupload = "INSERT INTO file_upload(ncrnummer,filename) VALUES ('$ncrnummer','$filename')";
$result = mysqli_query($conn, $querypictureupload);
}
}
在 for 循环函数范围之外创建函数
并且您需要在file_exists
函数中传递文件路径以检查文件是否存在
function resize_image($file,$max_resolution, $filepath) {
if (file_exists($filepath)) {
$original_image = imagecreatefromjpeg($file);
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$ratio = $max_resolution / $original_width;
$new_width = $max_resolution;
$new_height = $original_height * $ratio;
if ($new_height > $max_resolution) {
$ratio = $max_resolution / $original_height;
$new_height = $max_resolution;
$new_width = $original_width * $ratio;
}
if ($original_image) {
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image,$original_image,0,0,0,0,$new_width,$new_height,$original_width,$original_height);
imagejpeg($new_image,$file,90);
}
}
}
推荐阅读
- ios - 接收方如何通知发送方接受和拒绝的动作?
- office-js - Excel Online 365 Javascript API 加载项会话超时
- python-2.7 - 使用带有原始 excel 数据的 python xlswriter 将宏添加到 excel
- firebase - 在 webpack vue 项目中添加 firebase 配置变量的位置
- webpack - 如何在结束前在 NUXT 中附加 JS 文件
- workflow - 如何在工作流中包含 aem 自定义大坝资产处理程序
- groovy - 如何以编程方式创建重新请求步骤?
- android - 在 RecyclerView 的最后一个子节点下方放置一个视图
- java - 休眠查询返回重复结果
- c# - 将具有列名的数据表转换为 JSON