X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Добавление изображений в папку
pashek123
pashek123
Topic Starter сообщение 11.9.2014, 13:01; Ответить: pashek123
Сообщение #1


Данный код добавляет по одной картинке за одно добавление, как за одно добавление добавлять к примеру 100 картинок? Спасибо

index.html
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>


undo.php
[PHP]<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<?php
if($_FILES["filename"]["size"] > 5000*5000*5000)
{
echo ("Размер файла превышает три мегабайта");
exit;
}
// Проверяем загружен ли файл
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
// Если файл загружен успешно, перемещаем его
// из временной директории в конечную
move_uploaded_file($_FILES["filename"]["tmp_name"], "".$_FILES["filename"]["name"]);
} else {
echo("Ошибка загрузки файла");
}
?>
</body>
</html>[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 12.9.2014, 15:35; Ответить: Degradator
Сообщение #2


<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pashek123
pashek123
Topic Starter сообщение 15.9.2014, 10:25; Ответить: pashek123
Сообщение #3


<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">
Это какой-то топорный метод!

Добавил в index.html атрибут multiple, это позволит выделять множество файлов в окне
<html><head>
<title>Загрузка файлов на сервер</title></head><body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename" multiple>
<input type="submit" value="Загрузить">
</form></body>
</html>


Как на сервере обрабатывать больший массив? как модернизировать код в undo.php
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 15.9.2014, 10:39; Ответить: Wins
Сообщение #4


(pashek123 @ 15.9.2014, 13:25) *
Как на сервере обрабатывать больший массив? как модернизировать код в undo.php

Через foreach

[PHP]

if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
if (isset($_POST['submit'])){
//Загрузка файлов на сервер.
$directory = 'директория'; //Путь к директории для загрузки картинок
$allowed_types = array('jpg','jpeg','png','gif','PNG','GIF','JPG','JPEG'); // Массив допустимых типов

// Проверяем, существует ли директория для загрузки
if(file_exists($directory))
{

foreach($_FILES['file']['tmp_name'] as $key=>$filenames)

{
// Был ли загружен файл
if(is_uploaded_file($_FILES['file']['tmp_name'][$key]) && ($count = count($key) > 0) )
{
$filename = basename($_FILES['file']['name'][$key]); //Имя файла
$file = "".time()."".$filename; // Новое имя файла
$src = $_FILES['file']['tmp_name'][$key]; //Источник
$target = $directory.$file; //Путь для загрузки
$type = explode(".", $filename); //Получаем тип файла обращаясь к ключу $type[1]

// Проверяем соответствия расширения загруженного файла допустимым
if(in_array($type[1], $allowed_types))
{
move_uploaded_file($src,$target);//Загружаем изображение

}

else
{echo'Ошибка! Недопустимый формат!';}

}

else
{echo'Ошибка! Файл не загружен!';}

}
}
}
}

[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pashek123
pashek123
Topic Starter сообщение 15.9.2014, 11:37; Ответить: pashek123
Сообщение #5


Может я неверно путь указываю? Не добавляются, даже по одной.

<html><head>
<title>Загрузка файлов на сервер</title></head><body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename" multiple>
<input type="submit" value="Загрузить">
</form></body>
</html>


[PHP]<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
if (isset($_POST['submit'])){
//Загрузка файлов на сервер.
$directory = '../add/'; //Путь к директории для загрузки картинок
$allowed_types = array('jpg','jpeg','png','gif','PNG','GIF','JPG','JPEG'); // Массив допустимых типов

// Проверяем, существует ли директория для загрузки
if(file_exists($directory))
{

foreach($_FILES['file']['tmp_name'] as $key=>$filenames)

{
// Был ли загружен файл
if(is_uploaded_file($_FILES['file']['tmp_name'][$key]) && ($count = count($key) > 0) )
{
$filename = basename($_FILES['file']['name'][$key]); //Имя файла
$file = "".time()."".$filename; // Новое имя файла
$src = $_FILES['file']['tmp_name'][$key]; //Источник
$target = $directory.$file; //Путь для загрузки
$type = explode(".", $filename); //Получаем тип файла обращаясь к ключу $type[1]

// Проверяем соответствия расширения загруженного файла допустимым
if(in_array($type[1], $allowed_types))
{
move_uploaded_file($src,$target);//Загружаем изображение

}

else
{echo'Ошибка! Недопустимый формат!';}

}

else
{echo'Ошибка! Файл не загружен!';}

}
}
}
}
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 15.9.2014, 16:42; Ответить: Wins
Сообщение #6


[PHP]$directory = '../add/'; //Путь к директории для загрузки картинок[/PHP]

путь нужно полностью указывать

типа

[PHP]$directory = '/home/сайт.ru/www/add/';[/PHP]

посмотрите через $_SERVER['DOCUMENT_ROOT']
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pashek123
pashek123
Topic Starter сообщение 16.9.2014, 9:59; Ответить: pashek123
Сообщение #7


Нет, точно не полностью, ведь мы в папку сервера сохраняем и через сервер все это открываем, вот как было в самом верхнем примере

[PHP]
...
move_uploaded_file($_FILES["filename"]["tmp_name"], "Здесь директория но она пустая,
это означает, что файл сохранится в корневую директорию?
где находятся два файла index и unload".$_FILES["filename"]["name"]);
...
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 16.9.2014, 11:53; Ответить: Wins
Сообщение #8


Нужно массив передавать как вам Degradator написал name="filename[]"

у вас сейчас просто name="filename"

где находятся файлы index и upload, тут ни причем

путь должен быть абсолютным
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
сообщение 16.9.2014, 12:00; Ответить: Wins
Сообщение #9


У себя только что проверил, все работает

как с

<input type="file" name="filename[]">
<input type="file" name="filename[]">
<input type="file" name="filename[]">


так и через

<input name="file[]" type="file" multiple>


кстати в пхп $_FILES['file']['tmp_name'] , везде указано file

а вы передаете filename, <input type="file" name="filename" multiple>

нужно <input type="file" name="file[]" multiple>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pashek123
pashek123
Topic Starter сообщение 16.9.2014, 12:25; Ответить: pashek123
Сообщение #10


нужно <input type="file" name="file[]" multiple>

Исправил

Путь к расположению папки C:\OpenServer\domains\add

Как я попробовал:

[PHP]
...
$directory = 'C:/OpenServer/domains/add';
$directory = 'C:/OpenServer/domains/add/';
$directory = '../domains/add';
$directory = '../add';
...
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Продается сайт фотосток ИИ изображений
Хороший вариант!
20 alexey 3279 25.6.2023, 15:28
автор: alexey
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыКорректность показа вёрстки изображений на разных гаджетах
Не сохраняются пропорции изображений на смартфонах
1 master-vek 37258 25.3.2021, 13:22
автор: tedder
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыДобавление RSS-ленты на новостные агрегаторы и блоги
4 agency 4848 14.5.2020, 15:53
автор: agency
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыЛичный фотосток, много бесплатных изображений
15 Ultrastalker 5980 30.3.2020, 10:15
автор: Ultrastalker
Открытая тема (нет новых ответов) Продам 120 изображений с фотостока DepositPhotos
Выгодное предложение
6 Морфин 1790 20.1.2020, 20:36
автор: Морфин


 



RSS Текстовая версия Сейчас: 24.4.2024, 17:48
Дизайн