Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 25.08.2019
Сообщений: 42

Почему не работает mkdir с введенными в нем параметрами

06.08.2020, 18:12. Показов 2253. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, народ!
Я тут к вам с весьма необычным (наверное) вопросом (а возможно, даже и смешным).
В общем, заранее прошу тапками не забрасывать, а действительно помочь неучу советом научным от батьки.

А вопрос в следующем:
Задача:
Реализовать создание папки для отдельного юзера под контент (анимешные тяночки, наруто и прочие свисто-пляски).
Реализовать нужно алгоритмом находящимся в другой папке.
Для наглядности:
/корневая директория сайта
+----/php(в нем и лежит тот самый алгоритм)
+----/assets
+----/images(основная папка под папки пользователей)
+----+----/собстна папки юзеров
+----/прочие нужные папки и файлы

Вопрос:
Почему не работает mkdir с введенными в нем параметрами
Сам mkdir:
PHP
1
2
$mypath="images\\".$username->login."\\readme.txt";
mkdir($mypath,0777,TRUE);
Возможно, я что-то не так делаю, а может я просто настолько тупой, но из офф доков к php выяснил, что структура у mkdir такая.
Что я делаю не так?

З.Ы.: Нет, правда, давайте закроем глаза и адекватно мне объясним, где я что упустил. Мы же все тут интеллигентные культурные люди, верно?)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.08.2020, 18:12
Ответы с готовыми решениями:

Сохранение программы с введенными параметрами
Как сохранить программу, чтобы при следующем её открытии, всё, что было введено в последний раз отобразилось? При простом сохранении...

Создание bat файла с параметрами введенными из TextBox
Приветствую,при нажатие button1 создается bat file с параметрами private void button1_Click(object sender, EventArgs e) { ...

Ошибка Warning: mkdir() [function.mkdir]: File exists
Подскажите в чем ошибка? Выводит ошибку Warning: mkdir() : File exists if (is_dir('image_generator/$date$unic_id_user')) { ...

4
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
06.08.2020, 19:02
NightWolfPS, может глянуть как путь сформировался:
PHP
1
2
3
$mypath="images\\".$username->login."\\readme.txt";
echo $mypath;
mkdir($mypath,0777,TRUE);
И включите вывод ошибок.
И mkdir создаст конечную папку с именем readme.txt, то есть это будет папка а не файл.
0
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 11
06.08.2020, 19:10
mkdir создаёт директорию, Вы пытаетесь создать не директорию, а файл readme.txt.
Цитата Сообщение от NightWolfPS Посмотреть сообщение
$mypath="images".$username->login."\\readme.txt";
Если необходимо создать директорию, попробуйте вот так:
PHP
1
2
$mypath="images/".$username->login;
mkdir($mypath, 0777);
Если хотите создать в ней файл readme.txt - используйте file_put_contents или fopen()/fwrite()
https://www.php.net/manual/ru/... ntents.php

Ещё в некоторых случаях бывает полезно посмотреть что вернула функция
Возвращаемые значения: Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
https://www.php.net/manual/ru/... turnvalues
0
0 / 0 / 0
Регистрация: 25.08.2019
Сообщений: 42
06.08.2020, 19:44  [ТС]
Так, всем спасибо, люди добрые, но не расходитесь далеко.
Знаю, вопрос уже, скорее всего, был, но у меня (по всем канонам жанра) довольно интересная ситуация.
Есть глобальная суперпеременная $_FILES. Запихивание в нее контента из input type file всегда происходило изумительно. Сейчас пыха ругаться начала на "Неопределенный индекс: <сам индекс>". Обычно индексом выступает (как я понял) имя инпута в коде. Все прописано, уже начал надстраивать проверки (isset) на весь фрагмент.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ($_SERVER['REQUEST_METHOD'] == "POST" ) {
                // if(isset($_FILES['upl'])){
                    if ($_FILES['upl']['error'] == UPLOAD_ERR_OK && $_FILES['upl']['type'] == 'image/*') { //проверка на наличие ошибок
                        $destiation_dir = dirname('..'.$mypath) . '/' . $_FILES['upl']['name'];
                        $file = $destiation_dir;
                    } // директория для размещения файла
                    if (move_uploaded_file($_FILES['upl']['tmp_name'], $destiation_dir)) { //перемещение в желаемую директорию
                        $notification = 'File Uploaded'; //оповещаем пользователя об успешной загрузке файла
                    } 
                    else {
                        $notification = 'File not uploaded';
                        $notification .= $_FILES['upl']['error'];
                    }
                // }
            }
И если завардампить $_POST по тому же индексу, то в него все записывается и он выводит результат в виде названия файла. Если вардампить файл, то он передает то самое предупреждение о неопределенном индексе, и говорит, что ничего не записано.
Так же в коде самой страницы был использован jqery запрос к функции для удобной стилизации инпута, вплоть до замены его на любой другой элемент в качестве ярлыка.
JavaScript
1
2
3
4
//та самая функция
$(function() {
            $(".input-file").fileinput('<button class="input-file__button">Выбрать файл</button>');
        });
HTML5
1
2
3
<!--Элементы этой формы-->
<input name="upl" id="upl" type="file" class="input-file" accept="image/*">
<input type="submit" name="send_post" class="sends" onclick="SendPost();" value="Отправить">
Данные, получаемые из формы в БД записываются все, кроме файла. То есть ругается именно на файл. Если прописать (isset) на глобалку file, то предупреждение исчезает, но проблема остается - файл даже не загружается на сервер, не говоря уже о составлении пути для записи в бд.

з.ы.: mkdir сработал по следующей модели: $mypath="images/".$username->login;
mkdir($mypath, 0777); (спасибо за помощь)
0
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 11
06.08.2020, 20:10
NightWolfPS,
Цитата Сообщение от NightWolfPS Посмотреть сообщение
Сейчас пыха ругаться начала на "Неопределенный индекс: <сам индекс>".
Скинь какие ошибки были выброшены.

В целом - очень странно сделана отправка формы, есть подозрение что код в этом блоке не выполняется
PHP
1
2
if ($_SERVER['REQUEST_METHOD'] == "POST" )
{..}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.08.2020, 20:10
Помогаю со студенческими работами здесь

Почему пишу mkdir(".",777), а создается папка 410 ?
Добрый день. Подскажите как создать папку с нужными правами с помощью пхп сейчас создаю так: @mkdir('../img/'.$dates,777); Но...

Вызов функций с листа прописывание на нем строки с параметрами
Всем доброго дня. При усовершенствовании программы встал вопрос как сделать максимально визуализированно и простую в изменении...

Подскажите,почему не рисует прямоугольник с заданными параметрами?
Вот само задание: Создать меню с командами Size, Color, Paint, Quit. Команда Paint недоступна. При выборе команды Quit приложение ...

Почему у сигнатуры метода boolean test(T t) нет запятой между параметрами ?
Особенно удобным оказывается функциональный интерфейс Predicate из пакета java.util. function. Он определяется следующим образом: ...

Почему нельзя создать массив generic объектов с определёнными параметрами типов?
Почему нельзя создать массив generic объектов с определёнными параметрами типов? К примеру, почему вот эта строчка запрещена? ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru