Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 29.08.2008, 10:53   #1
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию Проверить существует ли путь и создать если его нет

При сохранении файла на сервер по средством PHP скрипта если на сервере не существует папки в которую должен быть помещен файл, то возникает ошибка и файл не создается.
Как сделать проверку на сушествование этого пути и создать его.
hoba вне форума Ответить с цитированием
Старый 29.08.2008, 12:20   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

http://ua.php.net/manual/ru/ref.filesystem.php
Что-то типа этого
PHP код:
<?php
$filename 
'/path/to/foo.txt';

if (
file_exists($filename)) {
   echo 
"Uploading..."
} else {
   
mkdir($filename0700true);
}
?>

Последний раз редактировалось SkyM@n; 29.08.2008 в 12:24.
SkyM@n вне форума Ответить с цитированием
Старый 29.08.2008, 12:26   #3
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от hoba Посмотреть сообщение
если на сервере не существует папки в которую должен быть помещен файл
А каким образом формирутся пути? Ведь не пользователем?
программист изначально должен нормально написать процедуру сохранения файла.
SkyM@n вне форума Ответить с цитированием
Старый 29.08.2008, 13:05   #4
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Цитата:
mkdir($filename, 0700, true);
Я и не думал что так все просто. Хотел было разбивать вначале на подпапки и потом создавать по отдельности. Во я глюк!!! Благодарю за помощь!
Цитата:
А каким образом формирутся пути? Ведь не пользователем?
Этоа часть относится к системе администрирование. А если точнее то файловый менеджер сайта. Просто мне недавно пришлось администрировать сайт где нет FTP доступа.
hoba вне форума Ответить с цитированием
Старый 29.08.2008, 13:23   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от hoba Посмотреть сообщение
Хотел было разбивать вначале на подпапки и потом создавать по отдельности.
К сожалению, если РНР - ниже 5-й версии, то таки придется рекурсию делать самому. как вы и хотели.
SkyM@n вне форума Ответить с цитированием
Старый 29.08.2008, 13:35   #6
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

Цитата:
К сожалению, если РНР - ниже 5-й версии...
Н амоем компе стоит 5 версия но всеравно почему-то не получилось. Папка не создалась. А на сервере где мой сайт - стоит 4 версия.
Цитата:
....придется рекурсию делать...

Последний раз редактировалось hoba; 29.08.2008 в 13:41.
hoba вне форума Ответить с цитированием
Старый 29.08.2008, 13:40   #7
hoba
Пользователь
 
Регистрация: 23.08.2008
Сообщений: 40
По умолчанию

уже делает. Слеш один лишний в начале '/path/to/foo.txt' надо так 'path/to/foo.txt'. Правда кроме всего прочего он создает еще и папку foo.txt.
hoba вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если функция ЕСЛИ не подходит Katherina_Koval Microsoft Office Excel 1 25.07.2008 18:09
sql-сервер не существует rubi БД в Delphi 8 15.07.2008 11:10
существует ли файл? subsonic Общие вопросы Delphi 8 10.01.2008 03:17
А что, если всем объедениться и создать что-нибудь глобальное? kuzmich Свободное общение 61 31.05.2007 20:01
А если всем объедениться и создать что-нибудь глобальное? Viteef Свободное общение 37 21.05.2007 15:10


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840