消息:未定义的索引:更新图像时的图像 PHP
Message: Undefined index: image on updating image PHP
我想更新我的图片,但我想如果我不更新任何图片,那么之前的图片不应该被删除
但是现在,如果我没有传递 "image" 参数,那么我会收到以下错误
"Message: Undefined index: image",我只想如果我不传递 "image" 参数,那么错误不应该显示,
我该如何解决这个错误?
这是我的代码
if (!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])) {
} else {
$filename = time() . uniqid(rand()) . $_FILES['image']['name'];
move_uploaded_file($_FILES["image"]["tmp_name"], "vendorProfile/" . $filename);
$saveArr['image'] = $filename;
}
在没有图像上传的情况下使用 file_exists($_FILES['image']['tmp_name']
会导致 undefined index
错误,因为您假设此时 $_FILES['image']
确实存在,因此您应该首先测试是否 image
存在于 $_FILES
数组中 - 例如使用 isset
。我不打算将此作为答案,因为我觉得评论应该已经足够了,但也许它会有所帮助。
if( isset( $_FILES['image'] ) ){
/* an image was uploaded */
$obj=(object)$_FILES['image'];
$tmp=$obj->tmp_name;
$name=$obj->name;
if( is_uploaded_file( $tmp ) ){
$filename = time() . uniqid( rand() ) . $name;
move_uploaded_file( $tmp, "vendorProfile/{$filename}" );
$saveArr['image'] = $filename;
}
} else {
/* no image uploaded - do something else */
}
亲爱的 Jigar,根据您给出的解释,我可以理解您正在尝试将文件上传到某处,如果您没有选择该文件,则会收到未定义的索引错误消息。
根据您的代码,您首先尝试使用以下代码行检查文件是否存在:
(!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])) {
}
并且您正在尝试使用 else 块上传
我认为你应该先
定义空数组以在其中保存图像元素。
$saveArr[] = '';
在 if 块而不是 else 中进行上传。
在此处输入代码
if(!file_exists($_FILES['image']['tmp_name']) ||
!is_uploaded_file($_FILES['image']['tmp_name'])){
$filename = time() . uniqid(rand()) . $_FILES['image']['name'];
move_uploaded_file($_FILES["image"]["tmp_name"], "vendorProfile/" . $filename);
$saveArr['image'] = $filename;}
我想更新我的图片,但我想如果我不更新任何图片,那么之前的图片不应该被删除 但是现在,如果我没有传递 "image" 参数,那么我会收到以下错误 "Message: Undefined index: image",我只想如果我不传递 "image" 参数,那么错误不应该显示, 我该如何解决这个错误? 这是我的代码
if (!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])) {
} else {
$filename = time() . uniqid(rand()) . $_FILES['image']['name'];
move_uploaded_file($_FILES["image"]["tmp_name"], "vendorProfile/" . $filename);
$saveArr['image'] = $filename;
}
在没有图像上传的情况下使用 file_exists($_FILES['image']['tmp_name']
会导致 undefined index
错误,因为您假设此时 $_FILES['image']
确实存在,因此您应该首先测试是否 image
存在于 $_FILES
数组中 - 例如使用 isset
。我不打算将此作为答案,因为我觉得评论应该已经足够了,但也许它会有所帮助。
if( isset( $_FILES['image'] ) ){
/* an image was uploaded */
$obj=(object)$_FILES['image'];
$tmp=$obj->tmp_name;
$name=$obj->name;
if( is_uploaded_file( $tmp ) ){
$filename = time() . uniqid( rand() ) . $name;
move_uploaded_file( $tmp, "vendorProfile/{$filename}" );
$saveArr['image'] = $filename;
}
} else {
/* no image uploaded - do something else */
}
亲爱的 Jigar,根据您给出的解释,我可以理解您正在尝试将文件上传到某处,如果您没有选择该文件,则会收到未定义的索引错误消息。
根据您的代码,您首先尝试使用以下代码行检查文件是否存在:
(!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])) {
}
并且您正在尝试使用 else 块上传
我认为你应该先
定义空数组以在其中保存图像元素。
$saveArr[] = '';
在 if 块而不是 else 中进行上传。 在此处输入代码
if(!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])){ $filename = time() . uniqid(rand()) . $_FILES['image']['name']; move_uploaded_file($_FILES["image"]["tmp_name"], "vendorProfile/" . $filename); $saveArr['image'] = $filename;}