Warning: fopen(/5a0cd30374522.txt): failed to open stream: Permission denied in C:\OSPanel\domains\localhost\2lesson8.php on line 14 При первых 5-10 попытках с вероятностью 10% выдает ошибку. Что тут с правами не так? PHP: $zet = 'C:\OSPanel\domains\localhost'; //location $yet = scandir($zet); //Array $unidFolder = uniqid(); $unidFile = uniqid(); mkdir($unidFolder, 0777); $newAr = glob('*',GLOB_ONLYDIR); //Возвращает список папок . $len = count($newAr); // Длина массива $newAr $x = mt_rand(0, $len); // Случайный элемент из массива $newAr fopen("$newAr[$x]/$unidFile.txt",'w', 777);
ёпрст, диапазон ключей массива вообще-то от 0 до count() - 1. "off-by-one error" ))) то есть иногда вы попадаете мимо унитаза. но не знаете об этом, т.к. вывод предупреждений отключен
Да я это знал что count выводит больше чем есть . Но не понимаю почему когда я сканирую дириктории на файлы у меня вылазит 59 а так в папке 57 файлов/ да счет введется с нуля поняли допустим 58 а откуда почему он считывает на один больше ? .
Ой какой интересный ответ который затронула меня . Во первых у меня профессия Туризм и отельное дело . Во вторых я изучаю php потому что это один из ключей к выполнении моей мечты . В третьих я учусь сам по себе . и отсюда зачем мне списывать откуда то и врать самому себе? --- Добавлено --- Не знаю почему но count всегда выводит на один больше не считая то что он начинает считывать с 0
объясняю: PHP: <?php $array = ['alfa', 'beta', 'gama', 'sigma']; var_dump($array); echo 'count='.count($array); Код (Text): array(4) { [0]=> string(4) "alfa" [1]=> string(4) "beta" [2]=> string(4) "gama" [3]=> string(5) "sigma" } count=4 Четыре элемента — от нуля до трёх, Карл! --- Добавлено --- - - - и ещё: PHP: <?php $array = ['alfa', 'beta', 'gama', 'sigma']; $n = count($array); // а должно быть count($array) - 1 for ($i=0; $i<100; ++$i) { echo $array[mt_rand(0, $n)]."\n"; } Код (Text): PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 beta sigma gama PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 sigma sigma PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 sigma beta beta beta sigma beta alfa PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 beta PHP Notice: Undefined offset: 4 in /path/to/test.php on line 7 Notice: Undefined offset: 4 in /path/to/test.php on line 7 --- Добавлено --- про "файлы и вылазит" — ты наверное говоришь о том, что в директории кроме файлов есть записи "." и ".." это особенность файловой системы — ссылки на саму директорию и на директорию уровнем выше. они всегда есть! вообще если сталкиваешся с чем-то непонятным, отлаживайся, выводи проверочные значения и научишся чему-то новому http://phpfaq.ru/debug