Тривиальная задача:создать две тысячи папок с заданными именами.

ВладимиR

Новичок
Тривиальная задача:создать две тысячи папок с заданными именами.

Здравствуйте!

Требуется создать 2000 папок с именами, указанными в текстовом файле.
На третий вечер изучения PHP,как мне кажется - возникла проблема с использованием значений массива в аргументах функции (mkdir).
А может с использованием двойных кавычек (кавычки открываются, кавычки закрываются :) ), а может ....

Вот код:

PHP:
<?php
   /* указываем пути к папкам*/
       $rd= "Z:/home/poligon/www/new/ "; // здесь будут  создаваться новые папки
       $fld= "'Z:/home/poligon/www/ ";  // а здесь находятся файлы:  subcat.txt-в котором перечислены имена создаваемых папок, и  soderg.txt, который будем копировать во вновь созданные папки

       $papki =  file("subcat.txt");
       $numb = count($papki);
       if ($numb == 0)
   {
  echo'<p><strong>файл "subcat.txt" пустой</strong></p>';
   }
   while( list($key,$namepap) = each ($papki))
   if (mkdir ("$rd $namepap", 0755 )) // ПРОБЛЕМА! В директории /new/  создана только одна папка с именем, указанным в последней строке файла  subcat.txt
   echo "Папки созданы".'<br>';
   else
   echo"0шибка программы".'<br>';
   ?>[PHP]

Выдает:

Warning: mkdir(Z:/home/poligon/www/new/ devyat ) [function.mkdir]: Invalid argument in z:\home\poligon\www\index.php on line 13
0шибка программы
Папки созданы

 Литературу изучал(видимо плохо).
 С уважением, Владимир
 

Фанат

oncle terrible
Команда форума
ВладимиR
Тебе знакомо такое понятие, как отладка?
Скорее всего - нет. Поэтому я попробую тебе объяснить в двух словах.
во-первых, отладка - а совсем не программирование - это основное занятие программиста.
во-вторых, что это, собственно, такое - это контроль программы в каждой строчке её выполнения. То ли делает программа, что надо.
вот ты задаешь какой-то аргумент функции mkdir. а чему равен этот аргумент - ты знаешь? а почему?

-~{}~ 09.12.07 14:32:

И, кстати, ответь на вопрос Апокалипсис
 

ВладимиR

Новичок
Автор оригинала: *****
ВладимиR
Тебе знакомо такое понятие, как отладка?
Скорее всего - нет. Поэтому я попробую тебе объяснить в двух словах.
во-первых, отладка - а совсем не программирование - это основное занятие программиста.
во-вторых, что это, собственно, такое - это контроль программы в каждой строчке её выполнения. То ли делает программа, что надо.
вот ты задаешь какой-то аргумент функции mkdir. а чему равен этот аргумент - ты знаешь? а почему?

-~{}~ 09.12.07 14:32:

И, кстати, ответь на вопрос Апокалипсис
-~{}~ 09.12.07 18:51:

Вообще-то я просил совета, а не вопросов, но раз требуется дисскуссия- надо мне столько папок, а аргументы функции
mkdir-
первый: путь к папке,
второй:имя папки,
и третий -права доступа.
Как по вашему, уважаемый *****, я без отладки догадался, что скрипт не работает?
Прошу прощения за резкость.
С уважением, Владимир.
 

Фанат

oncle terrible
Команда форума
Вот зачем так себя вести?
Что это за заявления - "я просил совета, а не вопросов"?
Ты начальник, что ли, мой? Или папа?
Ты купил этот форум и можешь заказывать, что можно писать, а что нельзя?

про отладку ты вообще в лужу сел. Ты так и не понял, что это такое. поэтому воздержись от заявлений о том, что ты всё делаешь правильно, а тебе все отвечают неправильно.
Давай ты ненадолго попробуешь поступать наоборот?

продолжение беседы в том же духе будет расценено мной как провокация, с автоматическим закрытием топика.

аргументы функции
mkdir-
первый: путь к папке,
второй:имя папки,
и третий -права доступа.
у тебя только два аргумента

-~{}~ 09.12.07 15:17:

И я не спрашивал, какие аргументы ты предполагаешь, что передаешь в функцию.
А знаешь ли ты, какие КОНКРЕТНО передаются параметры.
 

zerkms

TDD infected
Команда форума
[offtop]
Ищу готовое решение -> Сделайте всё за меня
[/offtop]
 

Фанат

oncle terrible
Команда форума
zerkms
Вообще, да - я обратил внимание на раздел, уже потом. Удивился - обычно код в этот раздел не постят.

А вообще - согласись - очень характерная и своевременная иллюстрация? =)
 

ВладимиR

Новичок
Автор оригинала: *****

у тебя только два аргумента

-~{}~ 09.12.07 15:17:

И я не спрашивал, какие аргументы ты предполагаешь, что передаешь в функцию.
А знаешь ли ты, какие КОНКРЕТНО передаются параметры.
Аргументов всё-таки три, или я совсем ничего не понимаю?
Какие КОНКРЕТНО? Разве в коде не видно : mkdir ("$rd $namepap", 0755 )
$rd -путь
$namepap - имя
0755- права
Про отладку видимо погорячился.
Впрочем, тему можно закрыть.
 

zerkms

TDD infected
Команда форума
ВладимиR
Аргументов всё-таки три, или я совсем ничего не понимаю?
Какие КОНКРЕТНО? Разве в коде не видно : mkdir ("$rd $namepap", 0755 )
hint: каким знаком отделяются аргументы функций? зачем кавычки?
 

Фанат

oncle terrible
Команда форума
ВладимиR
твоя проблема состоит в том, что ты не читаешь документацию на функции, которые ты применяешь.
от этого твоя засада с функцией mkdir()
и ещё одна - с функцией file()
но для новичка действительно сложно сразу ухватить все нюансы, поэтому почитай ещё про функцию trim().

Апокалипсис
Пусть уж делает эти каталоги. Зато хоть чуть-чуть программировать, авось, научится.
 

ВладимиR

Новичок
Аргуметов два, отделяются запятой, лишние пробелы удалил.

Всем спасибо!
Разберусь, сообщу.

Но всё-же, нельзя ли дать готовое решение если есть возможность?
Готов оплатить в разумных пределах.
 

HraKK

Мудак
Команда форума
ВладимиR
Можно, оформляй в форум работа. Не забудь перед этим прочитать правила, этого форума.
 

ВладимиR

Новичок
от этого твоя засада с функцией mkdir()
и ещё одна - с функцией file()

Спасибо, учёл:

PHP:
<?php
$mass_papki = file('subcat.txt');
$mnogo = count($mass_papki);
$p='Z:/home/poligon/www/new/';
for ($i=0;$i<$mnogo;$i++)
    {
$dd=$p.$mass_papki[$i];
$ok=trim("$dd");
@mkdir($ok,0755);
     }
     echo '<center><H1>Всем</H1> привет от ламера!</center>';
?>[PHP]

[size=1][i]-~{}~ 10.12.07  18:43:[/i][/size]
 
Сверху