gpt4 book ai didi

php - 如何在数组中显示错误消息

转载 作者:行者123 更新时间:2023-11-29 01:05:56 26 4
gpt4 key购买 nike

我有这个代码:

$allowed_extension = array('jpg', 'jpeg', 'png', 'bmp', 'tiff', 'gif');
$errors = array();
$output = array();

if(!empty($_FILES['image']['tmp_name'])){

foreach($_FILES['image']['name'] as $key => $array_value){

if(!in_array(pathinfo($_FILES['image']['name'][$key], PATHINFO_EXTENSION), $allowed_extension)){
die("Die!");
}
}

foreach($_FILES['image']['name'] as $key => $array_value){

$file_name = $_FILES['image']['name'][$key];
$file_size = $_FILES['image']['size'][$key];
$file_tmp = $_FILES['image']['tmp_name'][$key];

$file_extension = pathinfo($file_name, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);

if (!in_array($file_extension, $allowed_extension)){
$errors[$file_name][] = "format $file_extension in image $file_name is not accepted";
continue;
}

if ($file_size > 2097152){
$errors[$file_name][] = "maxsize of 2MB on $file_name has reached";
}

if (count($errors) == 0){

$dir = "a/b/c";

if (is_dir($dir)){
mkdir("a/b/c/tmp_images", 0755);
}else{
mkdir("a/b/c", 0755);
mkdir("a/b/c/tmp_images", 0755);
}

$path = "a/b/c/tmp_images";
$prifix = basename($file_name, "." . $file_extension);

//var_dump ($prifix);

$uploadfile = $path . "/" . $file_name;

$x = 0;
while (file_exists($uploadfile)){
$x ++;
$uploadfile = "{$path}/{$prifix}-{$x}.{$file_extension}";
}

if (move_uploaded_file($file_tmp, $uploadfile)){
$file_name = basename($uploadfile);
$output [$file_name] = "OK";

}else{

$output[$file_name] = "Failure while Uploading!";
$errors[$file_name][] = "Failure: Can't move uploaded pictures!";
}//else...
}//if(count($errors))...
}//foreach($_FILES['image']['name']...
}//if(!empty($_FILES['image']['tmp_name'])...

我的问题是,当数组出现时,我不知道如何显示应该显示的错误消息

$errors

已给出。到目前为止,它只会显示:

array

代替:

maxsize of 2MB on abc.jpg has reached

在 html 中我有这段代码:

<?php if(isset($errors)):?> 

<div class="form-error-message" id="signup-error-message" style="display": none;">
<div class="arrow-wrapper">
<div class="border-wrapper">
<?php foreach($errors as $error):?>
<p class="layer-content">
<?php echo $error;?>
</p>
<?php endforeach;?>
</div>
</div>

</div>

如果有人能如此友好地帮助我,我将不胜感激。非常感谢。

最佳答案

也许像这样保存每个错误:

$errors = array();
$errors[] = $file_name . ": this is the error message.";

然后这样显示:

if(count($errors) > 0){
foreach($errors as $e){
echo $e . "<br />";
}
}

关于php - 如何在数组中显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com