За последние 24 часа нас посетили 53790 программистов и 1773 робота. Сейчас ищут 827 программистов ...

Создать Папку со случайным названием и внутри создать файл со случайным названием?

Тема в разделе "PHP для новичков", создана пользователем hacker_farid, 13 ноя 2017.

  1. hacker_farid

    hacker_farid Новичок

    С нами с:
    13 окт 2017
    Сообщения:
    34
    Симпатии:
    0
    PHP:
    1.  <?php
    2.     $s = uniqid();
    3.  //     mkdir("$s" , 0777, true);
    4.  
    5.  
    6.     fopen("mkdir('hel' , 0777, true)\m.txt", r+ , true);
    7.  
    8.  ?>
     
  2. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Название из определьных символов? или из чисел пойдет? если из чисел формируй через
    PHP:
    и желательно в рекурсии что бы не повторялись папки. Потом открывай эту папку и также создавай там файл формируя название через
    PHP:
     
    hacker_farid нравится это.
  3. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Во-первых mkdir возвращает булево значение,поэтому она не подойдет для fopen
    Во-вторых функция в ""
    В-третьих r+ не создает файл,а пытается открыть уже созданный и выдает ошибку если такого файла нет

    PHP:
    1. $unidFolder = uniqid();
    2. $unidFile = uniqid();
    3.     if(!mkdir($unidFolder))
    4.         echo 'Error';
    5.     else
    6.         fopen("{$unidFolder}/{$unidFile}.txt","w");
     
    [vs] и hacker_farid нравится это.
  4. hacker_farid

    hacker_farid Новичок

    С нами с:
    13 окт 2017
    Сообщения:
    34
    Симпатии:
    0
    А как можно случайным образом зайти в одну из директорий ?
     
  5. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну собери в массив все пути директорий и выбери случайно путь:

    PHP:
    1. $unidFolder = [uniqid(), uniqid(), uniqid()];
    2. $randKey = array_rand($unidFolder);
    3. echo $unidFolder[$randKey];
    Вместо uniqid() у тебя в массиве будут уже сгенерированные заранее пути
     
    hacker_farid нравится это.
  6. hacker_farid

    hacker_farid Новичок

    С нами с:
    13 окт 2017
    Сообщения:
    34
    Симпатии:
    0
    Спасибо большое все понял отлично объясняешь