Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

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

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

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

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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