В просторах интернета нашёл загрузку изображений на сервер, с предварительным просмотром при помощи HTML5 Drag and Drop. Всё хорошо, работает
// Загрузка изображений на сервер
$('#upload-button .upload').click(function() {
// Показываем прогресс бар
$("#loading").show();
// переменные для работы прогресс бара
var totalPercent = 100 / dataArray.length;
var x = 0;
$('#loading-content').html('Загружен '+dataArray[0].name);
// Для каждого файла
$.each(dataArray, function(index, file) {
// загружаем страницу и передаем значения, используя HTTP POST запрос
$.post('upload.php', dataArray[index], function(data) {
var fileName = dataArray[index].name;
++x;
// Изменение бара загрузки
$('#loading-bar .loading-color').css({'width' : totalPercent*(x)+'%'});
// Если загрузка закончилась
if(totalPercent*(x) == 100) {
// Загрузка завершена
$('#loading-content').html('Загрузка завершена!');
// Вызываем функцию удаления всех изображений после задержки 1 секунда
setTimeout(restartFiles, 1000);
// если еще продолжается загрузка
} else if(totalPercent*(x) < 100) {
// Какой файл загружается
$('#loading-content').html('Загружается '+fileName);
}
// Формируем в виде списка все загруженные изображения
// data формируется в upload.php
var dataSplit = data.split(':');
if(dataSplit[1] == 'загружен успешно') {
$('#uploaded-files').append('<li><a href="images/'+dataSplit[0]+'">'+fileName+'</a> загружен успешно</li>');
} else {
$('#uploaded-files').append('<li><a href="images/'+data+'. Имя файла: '+dataArray[index].name+'</li>');
}
});
});
// Показываем список загруженных файлов
$('#uploaded-files').show();
return false;
});
PHP сценарий загрузки
<?php
// Создаем подключение к серверу
$db = mysql_connect ("localhost","root","");
// Выбираем БД
mysql_select_db ("Hunter",$db);
// Все загруженные файлы помещаются в эту папку
$uploaddir = 'images/add_photo/';
// Вытаскиваем необходимые данные
$file = $_POST['value'];
$name = $_POST['name'];
// Получаем расширение файла
$getMime = explode('.', $name);
$mime = end($getMime);
// Выделим данные
$data = explode(',', $file);
// Декодируем данные, закодированные алгоритмом MIME base64
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);
// Вы можете использовать данное имя файла, или создать произвольное имя.
// Мы будем создавать произвольное имя!
$randomName = substr_replace(sha1(microtime(true)), '', 12).'.'.$mime;
// Создаем изображение на сервере
if(file_put_contents($uploaddir.$randomName, $decodedData)) {
// Записываем данные изображения в БД
mysql_query ("INSERT INTO images (date,catalog,filename) VALUES
(NOW(),'$uploaddir','$randomName')");
echo $randomName.":загружен успешно";
}
else {
// Показать сообщение об ошибке, если что-то пойдет не так.
echo "Что-то пошло не так. Убедитесь, что файл не поврежден!";
}
?>
Всё отлично, сами картинки загружаются в нужную папку(которую указали), в таблицу заносится их путь. При выводе соответственно вытаскивается путь
<?
// Если количество записей больше нуля
if (mysql_num_rows($result) > 0)
{
// Записываем полученные данные в массив
$myrow = mysql_fetch_array ($result);
// В цикле выводи изображения на страницу
do {
echo "<img src='admin_panel/".$myrow['catalog'].$myrow['filename']."' />";
}
while ($myrow = mysql_fetch_array($result));
}
else
{
// Собщение о пустой таблице
echo "<p>Информация по запросу не может быть извлечена, в таблице нет
записей.</p>";
exit(); }
?>
Подскажите, как сделать тоже самое , но с видео ? Никак не могу додумать :(
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
данный фрагмент кода уменьшает расширение изображения, но я сильно удивился увидев что вес новых картинок больше чем их оригинал с более...
Здравствуйте форумчанеНужно было сделать простенькую админку в php
Пытаюсь загрузить на сайт изображение, но bitrix пишет что не создан временный каталог для загрузки