За последние 24 часа нас посетили 21963 программиста и 1624 робота. Сейчас ищут 2088 программистов ...

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

Тема в разделе "Сделайте за меня", создана пользователем mytopor, 16 авг 2016.

  1. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    1. Код (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
    • Помогите Please
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    просто замени четыре строки, которые в блоке "иначе" на mkdir("door/".trim($_POST['durl']), 0777, true);
     
  3. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Дак, а $main_key куда поставить?
     
  4. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Посмотри внимательно на свой же алгоритм. Давай я тебе его покажу, раз ты уже забыл:
    PHP:
    1. $for_cr = explode("/",trim($_POST['durl']));
    2. $for_cr = array_map("trim",$for_cr);
    3. mkdir("door/".$for_cr[0],0777);
    4. mkdir("door/".$for_cr[0]."/".$for_cr[1], 0777);
    Внимание вопрос: покажи мне тут упоминание $main_key. Минута пошла.
    --- Добавлено ---
    А, я кажется понял, что именно ты хочешь.
    Просто:
    PHP:
    1. mkdir("site/".trim($_POST['durl'].$main_key), 0777, true);
     
  5. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Вот так будет правильнее

    Код (Text):
    1. $for_cr = explode("/",trim($_POST['durl']));
    2. $for_cr = array_map("trim",$for_cr);
    3. mkdir("site/".$for_cr[0],0777);
    4. mkdir("site/".$for_cr[0]."/".$main_key, 0777);
    Спасибо за помощь!
     
  6. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Сократи 2 mkdir до одного рекурсивного.
     
  7. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Хм, я конечно понимаю что это красиво и просто звучит на словах... Но все же, я не совсем еще все могу...
     
  8. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ну читать-то ты умеешь?)))) Я уже дважды его тебе дал. Сравни сингатуру при вызове mkdir у себя и у меня.
     
  9. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Дак спасибо, у меня создаются папки)) Я просто не понимаю что дальше ты хочешь сделать, предложить)))
     
  10. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ты создаешь папки в глубину по одной. Можно сделать одним вызовом mkdir, сразу создав нужный путь.
     
  11. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Ну дак, да папок же море будет... И данный код работает.
     
  12. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    И? Да, данный говнокод (будем уж называть вещи своими именами) работает. Но почему бы его немного не улучшить?
    Я понимаю, если б на разных уровнях у тебя разные права были. Хотя и эту задачу можно оптимизировать.
    Ну ладно. Работает и хрен бы с ним.
     
  13. mytopor

    mytopor Новичок

    С нами с:
    10 авг 2016
    Сообщения:
    38
    Симпатии:
    0
    Я конечно все понимаю и вижу, что ты нашел в инете нужный код и понял для чего он нужен "Автоматизированный метод создания дорвеев на php" :). Спасибо за код. Даже я немного помог вам, чтобы поднять некий рейтинг в результатах поиска поисковых систем, чтобы достичь первых строчек в результате поиска по созданию дорвеев на php. Было очень, хорошо, если ты показал правильный пример кода дорвея на php для создания директориии, который нужен для меня. Буду очень благодарен.
     
  14. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Эт чо ща было? :eek:
     
    denis01, MouseZver и mr.akv нравится это.
  15. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @mytopor,
    1. прикинь, не все ищут код в инете. Некоторые всё-таки могут его написать сами.
    2. на этот якобы сео-пост поисковикам давно плевать. Поисковики уже научились оценивать сайт целиком, а не одной строчкой.
    3. выдачи данного форума итак на первых местах. Причём не за месяцы, а за дни. И, даже, частенько за пару часов.
    Опля.
     
  16. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @mr.akv так он ещё на эту страницу будет накручивать поведенческий фактор!
     
    mr.akv нравится это.