Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 34
1

Как сделать так что бы каждый пользователь загружал картинку в разные папки FTP

03.05.2019, 05:42. Показов 720. Ответов 7
Метки #php (Все метки)

Author24 — интернет-сервис помощи студентам
Вот например есть user1(id)=1 а другой user2(id)=2, мне нужно сделать так что бы у user1 была своя папка а у user2 своя
Вот сам код загрузки файлов на ftp
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
44
45
46
47
48
49
50
51
52
53
54
55
<?php
// Now do your FTP connection
$ftp_server     = "ip";
$ftp_username   = "admin";
$ftp_password   = "admin";
$conn_id = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
if ( @ftp_login($conn_id, $ftp_username, $ftp_password) ) {
    echo "<p>Connected as $ftp_username @ $ftp_server</p>";
} else {
    die( "Could not log in as $ftp_username\n" );
}
// Максимально допустимый размер загружаемого файла - 5Мб
$MaxFileSizeInBytes = 5242880;
// Разрешение расширения файлов для загрузки
$AllowFileExtension = array('jpg', 'png', 'jpeg', 'gif', 'rar', 'zip', 'doc', 'pdf', 'djvu');
// Оригинальное название файла
$FileName = $_FILES['uploaded_file']['name'];
// Полный путь до временного файла
$TempName = $_FILES['uploaded_file']['tmp_name'];
// Папка где будут загружатся файлы
$UploadDir = "uploads/";
// Полный путь к новому файлу в папке сервера
$NewFilePatch = $UploadDir.$FileName;
if($FileName) {
    // Проверка если расширение файла находится в массиве доступных
    $FileExtension = pathinfo($FileName, PATHINFO_EXTENSION);
    if(!in_array($FileExtension, $AllowFileExtension)) {
        echo "Файлы с расширением {$FileExtension} не допускаются";
    }
    else {
        // Проверка размера файла
        if(filesize($TempName) > $MaxFileSizeInBytes) {
            echo "Размер загружаемого файла превышает 5МБ";
        }
        else {
            // Проверяем права доступа на папку
            if(!is_writable($UploadDir)) {
                echo "Папка ".$UploadDir." не имеет прав на запись";
            }
            else {
                // Копируем содержимое временного файла $TempName и создаем нового в папке сервера
                $CopyFile = copy($TempName, $NewFilePatch);
                if(!$CopyFile) {
                    echo "Возникла ошибка, файл не удалось загрузить!";
                }
                else {
                    echo "Файл успешно загружен!<br />Ссылка на файл: <a href='{$NewFilePatch}'>{$NewFilePatch}</a>";
                }
            }
        }
    }
}
 
ftp_close($conn_id);
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2019, 05:42
Ответы с готовыми решениями:

Как сделать, чтобы каждый пользователь ftp видел только свою папку?
Всем доброе время суток! У меня возник вопрос Вот я создал папку, создал юзера, создал группу,...

Как сделать что бы загружалось в разные папки?
В общем проблема в том, что при выборе сервера загружается файл в одну папку и запускается от туда,...

Как сделать так что бы при нажатии одной кнопки сделать разные вещи несколько раз ?
можно взять интегер i, и если оно ровно 1 то делай это а если нет то нет и если кликнуть на кнопку...

как сделать что бы каждый раз не переподкл бд при смене расположения папки
как сделать что бы каждый раз не переподкл бд при смене расположения папки.подключил бд access при...

7
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 34
03.05.2019, 20:21  [ТС] 2
Помогите, не как не могу понять как это сделать, пробовал прописывать через
PHP
1
2
if($_SESION['logged_user']->id == 2) {
$UploadDir = "uploads/user(id2)}";
но это не работает
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
04.05.2019, 01:33 3
Finitrop,
PHP
1
2
3
4
$UploadDir =  "/uploads/user_id";
        if(!is_dir($UploadDir)){
            mkdir($UploadDir,0777,true);
        }
0
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 34
04.05.2019, 02:13  [ТС] 4
Спасибо, но я не могу сделать так чтобы в зависимости от айди создавалась каталог именно этого пользевателя, если например 100 юзеров = 100 папок
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
04.05.2019, 03:39 5
Finitrop, Создается все, хоть миллион пользователей, ID уникальное значение, то есть Вы создаете папку с ID пользователя и сохраняете в нее изображения. Пример, это у меня 14 тестовых аккаунтов, 14 пользователей, 14 папок и у каждого своя.
Миниатюры
Как сделать так что бы каждый пользователь загружал картинку в разные папки FTP  
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
04.05.2019, 03:40 6
Finitrop, я Вам в ПМ более подробно описал именно как реализовать.
0
0 / 0 / 0
Регистрация: 13.04.2019
Сообщений: 34
04.05.2019, 03:41  [ТС] 7
Спасибо большое
У меня еще будет пару вопросов
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
04.05.2019, 03:55 8
Пожалуйста.

Не по теме:

На скрине 10 папок, удалил видимо. Сонный уже. На этом успехов, код Вам отправил, надеюсь получится. Если что, почитайте, со слэшами поиграйте. Все должно работать.

0
04.05.2019, 03:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2019, 03:55
Помогаю со студенческими работами здесь

Как в Android Studio сделать так, что пользователь вводил функцию f(x)=? и точку?
А она считала значение в этой точке

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

Как сделать так, что бы, если пользователь заходит из США, то сайт автоматически закрывается
Как сделать так, что бы, если пользователь заходит из США, то сайт автоматически закрывается?

Как при открытии этого файла сделать что бы он загружал мой редактор и с текстом находящейся в этом файле?
Помогите: 1) Сделал текстовой редактор. 2) Сделал свой тип файла с расширением например 'ss'....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru