типы — PHP разрешает только определенные загрузки файлов, а также позволяет пользователю выбрать более 1 файла за раз для загрузки

У меня есть код, но мне не хватает этой части. Следующий PHP разрешает загрузку только файлов gif, jpeg, jpg, doc и pdf. У меня максимальный размер файла не более 5 мегабайт. В настоящее время кодирование работает так, как я хотел, с СО и исключением. Я хочу, чтобы пользователь мог выбрать, скажем, 5, 6 или 7 файлов одновременно, а затем нажать кнопку загрузки 1 раз. Я подумал, что я мог бы просто скопировать ввод type = ‘file’ name = ‘file_upload’> 5 раз … это работает, но когда я пытаюсь нажать кнопку загрузки, он ждет несколько секунд, а затем всплывает с моим кодом ошибки «Произошла ошибка при загрузке».

Если кто-то может помочь, я был бы очень признателен. Я уверен, что кодирование может быть намного чище, но, как вы можете видеть, я довольно новичок (как и многие другие) в php.

Заранее спасибо
Тони

HTML-кодирование:

<form method='post' enctype='multipart/form-data' action='../edocs.php'>
<input type='file' name='file_upload'><br>
<input type='submit' value="Upload" ><br><input type="reset" >



<?php
if($_FILES['file_upload']['error'] > 0){
die('An error ocurred when uploading.');
}
if($_FILES['file_upload']['type']!= 'image/gif')
if($_FILES['file_upload']['type']!= 'image/jpeg')
if($_FILES['file_upload']['type']!= 'image/jpg')
if($_FILES['file_upload']['type']!= 'application/msword')
if($_FILES['file_upload']['type']!= 'application/pdf'){
die('Unsupported filetype uploaded.  You need to change your file type

1

Решение

ты можешь попробовать вот так, это сработает.

    <form method="post" enctype="multipart/form-data">
<input type="file" name="my_file[]" multiple>
<input type="submit" value="Upload">
</form>

<?php
if (isset($_FILES['my_file'])) {
$myFile = $_FILES['my_file'];
$fileCount = count($myFile["name"]);

for ($i = 0; $i < $fileCount; $i++) {
?>
<p>File #<?= $i+1 ?>:</p>
<p>
Name: <?= $myFile["name"][$i] ?><br>
Temporary file: <?= $myFile["tmp_name"][$i] ?><br>
Type: <?= $myFile["type"][$i] ?><br>
Size: <?= $myFile["size"][$i] ?><br>
Error: <?= $myFile["error"][$i] ?><br>
</p>
<?php
}
}
?>

Или вы можете попробовать http://www.uploadify.com/documentation/

4

Другие решения

Сначала измени это

multiple атрибут для файла и имя файла в виде массива.

<input type='file' name='file_upload[]' multiple><br>
^   ^// this will allow the user to select multiple files.

Тогда для $_FILES использование foreach петля

foreach ($_FILES['file']['name'] as $filename)
{
$temp="path to upload the file";
$tmp=$_FILES['file']['tmp_name'][$count];
$count=$count + 1;
$temp=$temp.basename($filename);
move_uploaded_file($tmp,$temp);
$temp='';
$tmp='';
}

обращаться этот

0

По вопросам рекламы [email protected]