Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352

Загрузка файлов на сервер

08.03.2018, 13:46. Показов 959. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пишу загрузку файлов на сервер, но что-то идет не так в 16 строке хотя немного пробовал менять код, но все мои методы не сработали. Ниже привожу код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
     header("Content-Type: text/html; charset=utf-8");
     $fileextension=array('jpeg','jpg','png','gif','JPG');
     $directory='/outh/images';
     function uploadRoot($max_file_size = 5124, $valid_fileextension = array(), $directory = '.'){
         $error = null;
         $info = null;
         $max_file_size *= 5124;
         if ($_FILES['zagruzka']['error'] === UPLOAD_ERR_OK){
             $file_extension = pathinfo($_FILES['zagruzka']['name'], PATHINFO_EXTENSION);
             if(in_array(strtolower($file_extension),$valid_fileextension)){
                 if($_FILES['zagruzka']['name'] < $max_file_size){
                     $file_name = time() . $_FILES['zagruzka']['name'];
                     $destination = $directory .'/'.$file_name;
                     if(move_uploaded_file($_FILES['zagruzka']['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 => 'Размер файла превышает указанное значение',
                 UPLOAD_ERR_PARTIAL => 'Файл был загружен только частично',
                 UPLOAD_ERR_NO_FILE => 'Не был выбран файл для загрузки',
                 UPLOAD_ERR_NO_TMP_DIR => 'Не найдена папка для временных файлов',
                 UPLOAD_ERR_CANT_WRITE => 'Ошибка записи файла на диск'
                 );
             $error_code = $_FILES['zagruzka']['error'];
                 if(!empty$error_values[$error_code])) 
                     $error = $error_values[$error_code]; 
                 else
                     $error = 'Случилось что-то непонятное. Скорее всего Ваши данные в руках у инопланетян :)';
         }
         return array('info' => $info, 'error' => $error);  
    }
?>
$error = 'Не удалось загрузить файл'; - в этой строке вся проблема. Она выдает ошибку 500, а в логах
Кликните здесь для просмотра всего текста

[08-Mar-2018 13:22:42 Europe/Moscow] PHP Parse error: syntax error, unexpected '$info' (T_VARIABLE) in /home/j/j99522iv/programm/public_html/outh/setting/avatar.php on line 16

И существует ли более упрощенный код, не столь громоздкий, но с защитой по MIME и т.д. Да, и как можно получить после загрузки файла на сервер его адрес (url) и добавить его в базу данных или изменить UPDATE `users` SET.
Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.03.2018, 13:46
Ответы с готовыми решениями:

Загрузка файлов на сервер
Вот только начал заниматься этим вопросом, но почемуто $_FILES всегда равно 0 и не всегда отпределяется mime type. А и поэтому здесь...

Загрузка файлов на сервер
Как осуществить загрузку нескольких файлов на сервер?

Загрузка файлов на сервер
Прошу помощи с поиском скрипта загрузки файлов на сервер. Преимущественно doc и exel. Пользователь должен просматривать каталог файлов и...

2
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
08.03.2018, 14:00
На 15 строке вроде не хватает закрывающей скобки.
1
4 / 3 / 2
Регистрация: 11.08.2016
Сообщений: 352
09.03.2018, 12:15  [ТС]
Jodah, Да спасибо, я нашел и исправил ещё ошибки, но вот только белый экран почему-то. Насколько мне стало понятно файл должен находится в папке images, которая в свою очередь находится в папке outh,а перейти в паку outh можно в главной папке и получается путь сайт.рф/outh/images . Но проблема с белым экраном остается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.03.2018, 12:15
Помогаю со студенческими работами здесь

загрузка файлов на сервер
Добрый день! Такой вопрос: необходимо загрузить файлы(картинки) на сервер - для этих целей я скачал и установил скрипт из инета. Вот только...

Загрузка файлов на сервер и БД
Есть скрипт который грузит файл на сервер,и заносит путь и имя в БД.Мне надо сделать так чтобы загружать/не загружать(по выбору) еще один...

Загрузка файлов на сервер
Вот как загружаю файл на сервер: if(is_uploaded_file($_FILES)) { move_uploaded_file($_FILES,...

Загрузка файлов на сервер
сосал первую страницу гугла, все обработчики у меня не работают. просто нужно попросить у юзера несколько файлов и загрузить их в...

Загрузка файлов на сервер
Столкнулся с таким траблом Написал скрипт загрузки изображения на сервер $url = &quot;ava&quot;; if($_FILES){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru