Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2017, 20:04
Интересующийся
Отправить личное сообщение для Puzzle Посмотреть профиль Найти все сообщения от Puzzle
 
Регистрация: 29.05.2017
Сообщений: 12

Процесс загрузки картинки на сайт
Привет ребят. Я в JS вообще 0, php то начал только изучать. Прошу вашей профессиональной помощи с построением рабочего кода.Вот код загрузки картинки на сайт
<?php 
if(isset($_GET['err_name_file'])){echo '<div class="adminfo" role="alert">Вы не указали МОДЕЛЬ СМАРТФОНА!</div>';}
if(isset($_GET['err_file_file'])){echo '<div class="adminfo" role="alert">Вы не выбрали мобишот!</div>';}
if(isset($_GET['err_ext_file'])){echo '<div class="adminfo" role="alert">Неверное расширение мобишота</div>';}
if(isset($_GET['err_file'])){echo '<div class="adminfo" role="alert">Мобишот не загрежен по какой то причине</div>';}
if(isset($_GET['ok_load_file'])){echo '<div class="adminfo" role="alert">Мобишот успешно загружен и отправлен на модерацию!</div>';}
if(isset($_GET['ok_del_posting'])){echo '<div class="adminfo" role="alert">Мобишот успешно удален!</div>';}
if(isset($_GET['ok_post_posting'])){echo '<div class="adminfo" role="alert">Мобишот успешно загружен и отправлен на модерацию!</div>';}
if(isset($_GET['err_redaktor'])){echo '<div class="adminfo" role="alert">Вы не указали название фоторедактора!</div>';}
if(isset($_GET['err_strlen_max_red'])){echo '<div class="adminfo" role="alert">Название фоторедактора не должно содержать больше 25 символов!</div>';}
if(isset($_GET['err_strlen_max'])){echo '<div class="adminfo" role="alert">Название модели телефона не должно содержать больше 35 символов!</div>';}

if(isset($_GET['file_add'])){

if(isset($_POST['save'])){$ext = mb_strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
if(empty($_POST['name'])){header('Location: ?file_add&err_name_file');echo '</body></html>'; exit;}
if(mb_strlen($_POST['name'],'UTF-8') < 1){header('Location: ?file_add&err_strlen_min');	echo '</body></html>'; exit;}
if(mb_strlen($_POST['name'],'UTF-8') > 35){header('Location: ?file_add&err_strlen_max');echo '</body></html>'; exit;}
if(mb_strlen($_POST['redaktor'],'UTF-8') > 25){header('Location: ?file_add&err_strlen_max_red');echo '</body></html>'; exit;}
if(empty($_FILES['file']['name'])){header('Location: ?file_add&err_file_file');echo '</body></html>'; exit;}
if(empty($_POST['redaktor'])){header('Location: ?file_add&err_redaktor');echo '</body></html>'; exit;}
if($ext != 'jpg' && $ext != 'jpeg'){header('Location: ?file_add&err_ext_file');echo '</body></html>'; exit;}
$rand_name = mt_rand(111111,999999);
if(copy($_FILES['file']['tmp_name'], 'files/'.$rand_name.'.'.$ext)){
mysql_query("INSERT INTO `files` SET
`name` = '".mysql_real_escape_string($_POST['name'])."',
`file` = '".$rand_name.".$ext',
`posting` = 1,
`date_day` = '".date('dmy', time())."',
`redaktor` = '".mysql_real_escape_string($_POST['redaktor'])."',
`user` = '".$login['id']."',
`date` = '".time()."'");
mysql_query("UPDATE `users` SET `kol_file`=`kol_file`+1 WHERE `id` = '".abs(intval($_GET['id']))."'");
cropImage($_SERVER['DOCUMENT_ROOT'] . '/files/' . $rand_name.'.'.$ext, $_SERVER['DOCUMENT_ROOT'] . '/files/prev/prev_'.$rand_name.'.'.$ext, 600, 600);									
header('Location: ?file_add&ok_load_file&id='.$_GET['id'].'');
}else{
header('Location: ?file_add&err_file&id='.$_GET['id'].'');
}

echo '</body></html>'; exit;
}
}
echo '<div class="abs_add">';
echo '<form action="?file_add&id='.$_GET['id'].'" method="POST" enctype="multipart/form-data">';
echo '<div class="centertext">Модель телефона: </div><input class="form-control" type="text" name="name" placeholder="Например Samsung Galaxy s6, LG G4"><br />';
echo '<div class="centertext">Название фоторедактора: </div><input class="form-control" type="text" name="redaktor" placeholder="Если не использовался то писать Нет"><br />';
echo '<input class="form-control" type="file" name="file"><br />';
echo '<input type="hidden" name="save">';
echo '<div class="up-edit"><input type="submit" value="Загрузить"></form></div></div></div>';
?>

</div>

<?php } ?>


Помогите пожалуйста организовать, чтобы при загрузки картинки на сайт, был хоть какой то прогресс..чтобы люди видели что картинка загружается и загружена. Очень прошу. В ноги расцелую)
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2017, 20:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Puzzle
if(isset($_POST['save'])){$ext = mb_strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
Это плохо.

Сообщение от Puzzle
if(copy($_FILES['file']['tmp_name'], 'files/'.$rand_name.'.'.$ext))
Это нельзя.

Почитайте в сети - о загрузке изображений тем множество, где рассматриваются и вопросы безопасности этого процесса и сама логика. Но такой РНР код никуда не годится.

Отслеживание процесса загрузки сервером - http://php.net/manual/ru/session.upload-progress.php
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод картинки после загрузки ajax zkolya jQuery 0 02.05.2015 01:41
Очистка памяти, отмена загрузки картинки, отмена события. zhurchik Общие вопросы Javascript 16 23.10.2014 13:48
Вывод превью картинки до загрузки на сервер chapser AJAX и COMET 0 12.08.2014 01:01
Срабатывание скрипта в разные моменты при загрузки в разных браузерах VitalikPro Javascript под браузер 10 29.12.2011 18:24
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42