![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Вот здесь был у меня вопрос, народ сказал, что переименовать файлы в лёгкую можно в PHP.
Так как я только начинаю изучать этот замечательный язык, то не посылайте меня к учебникам и справочникам, я их уже почитал.. Вопрос: мне нужно выбрать определённую папку, установить шаблон (например, *.JPG) и поочерёдно названия файлов обрабатывать в программе.. Прошу не готовый код, а механизм реализации и какие функции использовать, остальное сам попробую. PS прошу прощение за лирику Это сообщение отредактировал(а) Red Dragon - 27.8.2004, 12:04 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Не знаю можно ли сразу шаблон указать, но можно сделать таким образом(расширение проверяй регулярными выражениями, например ):
Это сообщение отредактировал(а) <Spawn> - 27.8.2004, 14:58 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
То есть так
здесь я проверяю на наличие директории и одновременно присваиваю её $dir if ($dir = opendir("c:/windows/")) Здесь цикл до тех пор, пока не кончатся поддериктории и файлы и результат каждый раз заново присваивается $file while ($file = readdir($dir)) Вопрос: а как опредилить это файл или поддериктория, и в чём отличие от while (false !== ($file = readdir($dir))) Это сообщение отредактировал(а) Red Dragon - 27.8.2004, 15:23 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Вот тебе наборчик функций - is_dir(), is_executable(), is_file()
Это сообщение отредактировал(а) <Spawn> - 27.8.2004, 15:32 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
<Spawn>
Всё, разобрался. Отлично работает. (трудно пока все функции запомнить) Тока встретил, как я уже упоминул, вот это
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 5 Всего: 454 |
Red Dragon
Еще бы! конечно неправильно!!! не путай операции сравнения и операции присвоения. Ты что делаешь? Сперва вызываешь функцию readdir($dir). Потом полученный от нее результат присваиваешь переменной $file. Потом присвоенное переменной $file значение используешь в качестве условия в структуре WHILE (операция скобка!!!). Должно быть:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Red Dragon Как ни странно но у меня все работает. Функция readdir возвращает fasle в случае, если не было найдено следущего файла в директории. Это и указывает на оканчиние цикла.
Какой смысл данного кода? с чем будет вестись сравнение? Смысл приведенного мною кода в том что значением переменной $file является результат функции readdir, а не сравнение данной переменной с результатом.
Как это вообще заработало? Это что за оператор !== Это сообщение отредактировал(а) <Spawn> - 27.8.2004, 16:39 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| Ignat |
|
||||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Бр-р-р, очём речь?
while ($file == readdir($dir)) - ахинея в данном контесте. присваивание вернет true в случае если правая часть не false таким образом запись:
абсолютно верна. Добавлено @ 16:48 <Spawn>
Если не изменяет мне память "не эквивалентно" и он имеет место в php. -------------------- Теперь при чем :P |
||||
|
|||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Ignat Дак не эквивалентность вроде как != или это !== аналог? Ни где не встречал такого.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
-------------------- Теперь при чем :P |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Ignat Сенк, буду знать
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Народ, я пока ещё не могу спорить по вопросам программирования PHP, но мне кажется, что этот код более грамотный
А вот этот неправильный
Так как грамотнее (оба варинта работают)? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 1 Всего: 64 |
Red Dragon Я уже привык к записям вида
и конструкция
кажется мне более трудной для мгновенного восприятия -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
И ещё один маленький вопрос по теме. Как вызвать окно для выбора директории и присвоение значения $dir
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Red Dragon
Ни как. Это PHP, он не работает с WinAPI (за исключением некоторых случаев). Модератор: Давайте вернёмся к теме обсуждения. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |