[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: добавление непосредственно в форме доп строк
Страницы: 1, 2
h0ck
Вот форма:
<form action="file_upload.php" method="post" enctype="multipart/form-data"> 
<input
type="file" name="userfile" />
<input
type="submit" value="Завантажити" name="upload_submit" />
</form>

как зделать так чтобы если человеку сразу загрузить нужно не 1 файл а несколько то возле кнопки завантажити была кнопка "+" и когда на нее нажали то форма стала вот такой
<form action="file_upload.php" method="post" enctype="multipart/form-data"> 
<input
type="file" name="userfile" />
<input
type="file" name="userfile" />
"+"(кнопка плюсика)
<input type="submit" value="Завантажити" name="upload_submit" />
</form>
h0ck
а без яваскрипта ето можно зделать? просто яваскрипт у пользователя может быть и отключеным=\
Michael
без JS такие вещи обычно делаются только с использованием флеша.

_____________
There never was a struggle in the soul of a good man that was not hard
sergeiss
Если у него JS отключен, то используй тэг noscript для того, чтобы сказать "юзер, ты недополучаешь полезный функционал, потому что у тебя отключен Javascript!". Либо загружай по одному файлу и потом предлагай загрузить еще.

Как вариант - ты можешь сразу вывести много инпутов для ввода файлов, а потом на серверной стороне анализировать, что было заполнено. Это возможно, но это - не красиво smile.gif

ВАЖНО!!! У НИХ У ВСЕХ ДОЛЖНЫ БЫТЬ РАЗНЫЕ ИМЕНА!!!

Вот это - НЕВЕРНО
Цитата (h0ck @ 9.05.2013 - 01:42)

<input type="file" name="userfile" />
<input type="file" name="userfile" />


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
andrey888
Дай возможность сразу загрузить несколько.. как тебе выше sergeiss сказал.
А вообще без JavaScript создание современного приложения/сайта/cms и так далее представляется мне очень непростым занятием .
Лучше посмотри в его (JavaScript) сторону ))

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Michael
Цитата (sergeiss @ 10.05.2013 - 12:06)
ВАЖНО!!! У НИХ У ВСЕХ ДОЛЖНЫ БЫТЬ РАЗНЫЕ ИМЕНА!!!

Вот это - НЕВЕРНО

Тут такой буквоед на форуме есть, что я бы не рисковал так выражать эту мысль, весь мозг выгрызет, biggrin.gif , т.к. имя можно и userfile[] дать

_____________
There never was a struggle in the soul of a good man that was not hard
h0ck
<h1>Друк Вашого фото</h1>
<p><form
action="file_upload.php" method="post" enctype="multipart/form-data">
<input
type="file" name="userfile" />
<div
id="newEl"></div>
<input
type="button" value="+" onclick="newInf();">
<script
language="JavaScript">
function
newInf(){
var el, s;
el=document.getElementById("newEl");
s=el.innerHTML;
s=s+"<input type='file' name='userfile' /><br />";
el.innerHTML=s;

};

function clik(el){
el.parentNode.removeChild(el);
};</script>
<input
type="submit" value="Завантажити" name="upload_submit" />
</form>
</p>

вот код, ява скрипт, прекрасно как бы работает
а вот обработчик
<?php

/**
*
@param int $max_file_size максимальный размер файла в килобайтах
*
@param array $valid_extensions массив допустимых расширений
*
@param string $upload_dir директория загрузки
*
@return array сообщение о ходе выполнения
*/

function uploadHandle($max_file_size = 16000, $valid_extensions = array(), $upload_dir = '.')
{

$error = null;
$info = null;
$max_file_size *= 16000;

if ($_FILES['userfile']['error'] === UPLOAD_ERR_OK)
{
// Перевіряємо розширення файлу
$file_extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
if (in_array($file_extension, $valid_extensions))
{
// Перевіряємо розмір файлу
if ($_FILES['userfile']['size'] < $max_file_size)
{
$destination = $upload_dir .'/' . $_FILES['userfile']['name'];

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $destination))
$info = 'Файл успішно завантажено';
else
$error = 'Не вдалося завантажити файл';
}
else
$error = 'Размір файлу більше допустимого';
}
else
$error = 'У файла недопустиме разширення';
}
else
{
// массив ошибок
$error_values = array(

UPLOAD_ERR_INI_SIZE => 'Размер файла больше разрешенного директивой upload_max_filesize в php.ini',
UPLOAD_ERR_FORM_SIZE => 'Размер файла превышает указанное значение в MAX_FILE_SIZE',
UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'

);

$error_code = $_FILES['userfile']['error'];

if (!empty($error_values[$error_code]))
$error = $error_values[$error_code];
else
$error = 'Случилось что-то непонятное';
}

return array('info' => $info, 'error' => $error);
}

//////////////////////////////допустимі розширення зображень///////////////////////////////////////
$extensions = array('jpg', 'JPG', 'jpeg', 'png', 'gif');
$upload_dir = 'img';

// Запускаем функцию
if(!empty($_POST['upload_submit']))
{
$message = uploadHandle(200, $extensions, $upload_dir);

// Выводим сообщение
echo $message['error'] ? $message['error'] : $message['info'];
}
?>


Загружает почему то только 1 картинку, последнюю добавленую в форму.
п.с. а как зделать так чтобы добавлялись все и сразу + в отдельную, свою папку

тоесть в форму хочу добавить например:
ваше имя отчество, оно переводит с укр\рус транслитом на англ, убирает пробелы (есть такой код)
потом надо чтобы создало папку
и вот ети все картинки которые якобы загрузились в созданую папку
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.