我是一个非常大的新手@php。希望你体谅:)
我有这个脚本和一个小问题。如果选择的文件是图像,我想检查第一个 foreach 部分。如果文件是图像并且不是很大,它应该可以上传!
但重要的是首先检查所有图像!
我遇到的问题是例如:
在输入字段 1 我放了一个 1mb 的图像
在输入框 2 我放了一个文本文件
当我按下提交时,输入中的第一个图像正在移动到文件夹中,而不是在文本文件上停止并出现错误<- 没有 php 错误只是我自己的错误(没有图像文件或图像太大)
编辑:似乎该if ($upload_ok == true)
部分不起作用
首先,我希望检查所有输入字段(validextension、fileextension、size),并且当所有输入字段都正常时,图像可以移动到文件夹(以 开头if ($upload_ok == true)
)。
if (!empty($_FILES))
{
$upload_ok=array();
foreach($_FILES as $key => $file)
{
$validExtensions = array('.jpg', '.jpeg', '.gif', '.png');
$fileExtension = strtolower(strrchr($file['name'], "."));
if ((in_array($fileExtension, $validExtensions) && ($file['error'] == 0))||$file['error'] == 4)
{
$upload_ok=true;
echo('true');
}
else
{
$upload_ok=false;
$result=false;
echo('false');
}
}
// if(!in_array(false ,$upload_ok))
if ($upload_ok == true)
{
foreach($_FILES as $key => $file)
{
if ($file['error'] == 0)
{
$newNamePrefix = $picName . '_';
$CounterPrefix = sprintf("%02d",(preg_replace("/[^0-9]/","", $key)));
$fileExtension = strtolower(strrchr($file['name'], "."));
$manipulator = new ImageManipulator($file['tmp_name']);
$newImage = $manipulator->resample(1024, 1024);
$manipulator->save($imgRoot . $maschineFolder . $picFolder . $newNamePrefix . $CounterPrefix . $fileExtension);
}
}
}
}
我在这里用孔脚本做了一个小pastebin