За последние 24 часа нас посетили 15642 программиста и 1560 роботов. Сейчас ищут 890 программистов ...

PHP. Почему не создает подкатегории?

Тема в разделе "PHP для новичков", создана пользователем mytopor, 16 авг 2016.

Метки:
  1. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Код (Text):
    1. if (strpos(trim($_POST['durl']),"/")===FALSE){
    2. mkdir("site/".trim($_POST['durl']), 0777);
    3.     } else{
    4.         $for_cr = explode("/",trim($_POST['durl']));
    5.         $for_cr = array_map("trim",$for_cr);
    6.         mkdir("door/".$for_cr[0],0777);
    7.         mkdir("door/".$for_cr[0]."/".$for_cr[1], 0777);
    8.      }
    Пытаюсь вставить подкатегории $main_key

    $main_key - категории

    Код (Text):
    1. if (strpos(trim($_POST['durl']),"/")===FALSE){
    2. mkdir("site/".trim($_POST['durl'].$main_key), 0777);
    3.     } else{
    4.         $for_cr = explode("/",trim($_POST['durl']));
    5.         $for_cr = array_map("trim",$for_cr);
    6.         mkdir("door/".$for_cr[0],0777);
    7.         mkdir("door/".$for_cr[0]."/".$for_cr[1], 0777);
    8.      }
    Создает так: site/mypakacat
    А я хочу так: site/mypaka/cat
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Два раза вызывай mkdir, когда нет ещё mypaka, можно проверить is_dir, дальше создавай mypaka/cat
     
  3. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Че-то у меня голова уже не варит... покажи на примере
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Готовый код в разделе "сделайте за меня", тут подсказывают.
    На какой строке кода ты пытаешься создать cat папку? Может там между mypaka и cat нет /
     
  5. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Вот это я как раз понимаю что нет /, но как вставить я фиг знает.. я же новичек
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    А можно заказать у mkdir сразу весь путь создать и не устраивать вот этой порнографии с вызовом на каждый уровень?
     
    denis01 нравится это.
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  8. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Я же в разделе для новичков.... подсказать или показать пример так сложно ((((
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ну дык мы и подсказали. А дальше ты открываешь мануал, читаешь, пробуешь. Что-то не получается - показываешь нам код. Мы тебе его комментируем. Ты его исправляешь. И так далее.
    Вот такой вот отличный подход к темам в разделе новичков. Новичок, который хочет учиться. Збс. За тебя всё пережевывать, сразу готовый код давать - это не в новичках.
     
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Надо же, никогда не обращал внимание. И не только я, видимо. Авторы Yii2 тоже свой велик с рекурсивным созданием директории написали, хотя может чем-то и оправдано https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseFileHelper.php#L475
     
  11. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Мало ли, что ты хочешь. Другое дело то, что ты пишешь. Он тебе создаёт так, как ты ему написал. Внимательно всмотрись в строчку, которую ты написал(Я тебе именно нужную процитировал)... Вот ты сказал, что хочешь чтобы у тебя между
    PHP:
    1. $_POST['durl']
    и
    PHP:
    1. $main_key
    стоял обратный слеш, но я вот как ни посмотрю, ну нету там его...
    А ты, там его видишь?
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @askanim прямой слеш. Обратный в винде ДСит
     
    askanim нравится это.
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Прямой, обратный.. DIRECTORY_SEPARATOR вам в помощь.
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Fell-x27 вопрос не в том, какой вид в какой оси, а в том, что обратный слэш - это "\", о чем наш всезнайка почему-то не знает.