私は非常に大きな初心者@ phpです。あなたが思いやりを持っていることを願っています:)
私はこのスクリプトとちょっとした問題を抱えています。選択したファイルが画像の場合、最初の foreach 部分をチェックインしたい。ファイルが画像で、大きすぎない場合は、アップロードしても問題ありません。
最初にすべての画像を確認することが重要です。
私が抱えている問題は、たとえば次のとおりです。
入力フィールド1に1MBの画像を入れます
入力フィールド2にテキストファイルを入れます
送信を押すと、入力からの最初の画像がフォルダーに移動し、エラーでテキストファイルで停止します<-phpエラーはありません私自身のエラーです(画像ファイルまたは画像が大きすぎません)
編集:そのif ($upload_ok == true)
部分が機能していないようです
最初に、すべての入力フィールドがチェックされ(validextension、fileextension、size)、すべての入力フィールドがOKの場合、画像はフォルダに移動できます(で始まる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);
}
}
}
}
ここにホール スクリプトを使用して小さなペーストビンを作成しました