проверить существует ли папка php

Php проверка существования директории

проверить существует ли папка php. Смотреть фото проверить существует ли папка php. Смотреть картинку проверить существует ли папка php. Картинка про проверить существует ли папка php. Фото проверить существует ли папка php

Проверяем, существует директория или нет? Если такой директории нет, создает ее.

Функция is_dir(), позволяет узнать, является ли имя файла директорией. Если такой директории нет, то создаем новую с помощью функции mkdir().

Функция file_exist(), проверяем существование указанного файла или каталога. Если такой директории нет, то создаем новую с помощью функции mkdir().

file_exists — Проверяет наличие указанного файла или каталога

Описание

Проверяет наличие указанного файла или каталога.

Список параметров

Путь к файлу или каталогу.

Возвращаемые значения

Данная функция возвращает FALSE для символических ссылок, указывающих на несуществующие файлы.

Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.

Замечание: Так как тип integer в PHP является целым числом со знаком и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2ГБ.

Примеры

Пример #1 Проверка существования файла

Ошибки

Примечания

Смотрите также

Бывают случаи, когда вам необходимо проверить, существует ли указанный файл или нет, например, для того чтобы в последующем совершить с файлом какие-то действия.

Я тоже при разработке модуля столкнулся с этим вопросом. И нашел два варианта решения поставленной задачи.

Проверка существования файла по URL-ссылке

В PHP существует функция «fopen», с помощью которой можно открыть указанный URL.

Что мы делаем? Пытаемся открыть файл, и если нам это удается, значит, файл существует, а противном же случае – файла нет.

А что, если мы имеем не один файл, а несколько, так сказать, массив ссылок? Эта задача как раз и стояла изначально передо мной. И решение уже такой задачи следующее:

В этом случае мы получаем список только тех файлов, которые существуют.

Проверка существования локального файла

Под словом «локальный» подразумевается, что скрипт и файлы для проверки находятся на одном сервере. Если у вас довольно большой массив ссылок – этот вариант самый лучший для решения задачи, так как мы делаем не запрос на сторонний сервер, а сканирование указанных директорий.

В этом способе используется функция «file_exists», и по аналогии с предыдущим вариантом просто заменяется часть скрипта:

И то же самое для массива ссылок:

На что стоит обратить внимание? На то, что этот способ удобен для прогонки файлов, находящихся в пределах нашей файловой системы. Поэтому все ссылки желательно указывать относительные.

Кстати говоря, делая один из заказов, именно этим способом мне удалось просканировать порядка 135 000 файлов всего за пару секунд.

Источник

file_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

file_exists — Проверяет существование указанного файла или каталога

Описание

Проверяет наличие указанного файла или каталога.

Список параметров

Путь к файлу или каталогу.

Возвращаемые значения

Данная функция возвращает false для символических ссылок, указывающих на несуществующие файлы.

Проверка происходит с помощью реальных UID/GID, а не эффективных идентификаторов.

Замечание: Так как тип integer в PHP является целым числом со знаком, и многие платформы используют 32-х битные целые числа, то некоторые функции файловых систем могут возвращать неожиданные результаты для файлов размером больше 2 Гб.

Ошибки

Примеры

Пример #1 Проверка существования файла

Примечания

Смотрите также

User Contributed Notes 30 notes

Note: The results of this function are cached. See clearstatcache() for more details.

file_exists() does NOT search the php include_path for your file, so don’t use it before trying to include or require.

Yes, include does return false when the file can’t be found, but it does also generate a warning. That’s why you need the @. Don’t try to get around the warning issue by using file_exists(). That will leave you scratching your head until you figure out or stumble across the fact that file_exists() DOESN’T SEARCH THE PHP INCLUDE_PATH.

In response to seejohnrun’s version to check if a URL exists. Even if the file doesn’t exist you’re still going to get 404 headers. You can still use get_headers if you don’t have the option of using CURL..

$file = ‘http://www.domain.com/somefile.jpg’;
$file_headers = @get_headers($file);
if($file_headers[0] == ‘HTTP/1.1 404 Not Found’) <
$exists = false;
>
else <
$exists = true;
>

If you are trying to access a Windows Network Share you have to configure your WebServer with enough permissions for example:

You will get an error telling you that the pathname doesnt exist this will be because Apache or IIS run as LocalSystem so you will have to enter to Services and configure Apache on «Open a session as» Create a new user that has enough permissions and also be sure that target share has the proper permissions.

Hope this save some hours of research to anyone.

With PHP 7.0 on Ubuntu 17.04 and with the option allow_url_fopen=On, file_exists() returns always false when trying to check a remote file via HTTP.

returns always «missing», even for an existing URL.

I found that in the same situation the file() function can read the remote file, so I changed my routine in

This is clearly a bit slower, especially if the remote file is big, but it solves this little problem.

For some reason, none of the url_exists() functions posted here worked for me, so here is my own tweaked version of it.

I wrote this little handy function to check if an image exists in a directory, and if so, return a filename which doesnt exists e.g. if you try ‘flower.jpg’ and it exists, then it tries ‘flower[1].jpg’ and if that one exists it tries ‘flower[2].jpg’ and so on. It works fine at my place. Ofcourse you can use it also for other filetypes than images.

Note on openspecies entry (excellent btw, thanks!).

Replace the extensions (net|com|. ) in the regexp expression as appropriate.

If the file being tested by file_exists() is a file on a symbolically-linked directory structure, the results depend on the permissions of the directory tree node underneath the linked tree. PHP under a web server (i.e. apache) will respect permissions of the file system underneath the symbolic link, contrasting with PHP as a shell script which respects permissions of the directories that are linked (i.e. on top, and visible).

This results in files that appear to NOT exist on a symbolic link, even though they are very much in existance and indeed are readable by the web server.

this code here is in case you want to check if a file exists in another server:

Here is a simpler version of url_exists:

When using file_exists, seems you cannot do:

This is at least the case on this Windows system running php 5.2.5 and apache 2.2.3

Not sure if it is down to the concatenation or the fact theres a constant in there, i’m about to run away and test just that.

I was having problems with the file_exists when using urls, so I made this function:

I made a bit of code that sees whether a file served via RTSP is there or not:

NB: This function expects the full server-related pathname to work.

For example, if you run a PHP routine from within, for example, the root folder of your website and and ask:

You will get FALSE even if that file does exist off root.

Older php (v4.x) do not work with get_headers() function. So I made this one and working.

file_exists() will return FALSE for broken links

You could use document root to be on the safer side because the function does not take relative paths:

I spent the last two hours wondering what was wrong with my if statement: file_exists($file) was returning false, however I could call include($file) with no problem.

// includes lies in /home/user/public_html/includes/

//doesn’t work, file_exists returns false
if ( file_exists ( ‘includes/config.php’ ) )
<
include( ‘includes/config.php’ );
>

The code can be used to t a filename that can be used to create a new filename.

//character that can be used
$possible = «0123456789bcdfghjkmnpqrstvwxyz» ;

My way of making sure files exist before including them is as follows (example: including a class file in an autoloader):

file_exists() is vulnerable to race conditions and clearstatcache() is not adequate to avoid it.

The following function is a good solution:

IMPORTANT: The file will remain on the disk if it was successfully created and you must clean up after you, f.ex. remove it or overwrite it. This step is purposely omitted from the function as to let scripts do calculations all the while being sure the file won’t be «seized» by another process.

NOTE: This method fails if the above function is not used for checking in all other scripts/processes as it doesn’t actually lock the file.
FIX: You could flock() the file to prevent that (although all other scripts similarly must check it with flock() then, see https://www.php.net/manual/en/function.flock.php). Be sure to unlock and fclose() the file AFTER you’re done with it, and not within the above function:

If checking for a file newly created by an external program in Windows then file_exists() does not recognize it immediately. Iy seems that a short timeout may be required.

500000) break; // wait a moment
>

if (file_exists($file)) // now should be reliable
?>

Источник

Как проверить существование файла на PHP?

Бывают случаи, когда вам необходимо проверить, существует ли указанный файл или нет, например, для того чтобы в последующем совершить с файлом какие-то действия.

Я тоже при разработке модуля столкнулся с этим вопросом. И нашел два варианта решения поставленной задачи.

Проверка существования файла по URL-ссылке

В PHP существует функция «fopen», с помощью которой можно открыть указанный URL.

Что мы делаем? Пытаемся открыть файл, и если нам это удается, значит, файл существует, а противном же случае – файла нет.

А что, если мы имеем не один файл, а несколько, так сказать, массив ссылок? Эта задача как раз и стояла изначально передо мной. И решение уже такой задачи следующее:

В этом случае мы получаем список только тех файлов, которые существуют.

Проверка существования локального файла

Под словом «локальный» подразумевается, что скрипт и файлы для проверки находятся на одном сервере. Если у вас довольно большой массив ссылок – этот вариант самый лучший для решения задачи, так как мы делаем не запрос на сторонний сервер, а сканирование указанных директорий.

В этом способе используется функция «file_exists», и по аналогии с предыдущим вариантом просто заменяется часть скрипта:

И то же самое для массива ссылок:

На что стоит обратить внимание? На то, что этот способ удобен для прогонки файлов, находящихся в пределах нашей файловой системы. Поэтому все ссылки желательно указывать относительные.

Кстати говоря, делая один из заказов, именно этим способом мне удалось просканировать порядка 135 000 файлов всего за пару секунд.

Источник

Работа с файлами в PHP

Чтение файла: file_get_contents()

С помощью функции file_get_contents() можно получить содержимое файла:

Также мы можем получить html-код какой-либо страницы в интернете:

Но работает это далеко не для всех сайтов, у многих есть защита от такого примитивного парсинга.

Чтение файла: file()

Функция file() позволяет получить содержимое файла в виде массива. Разделителем элементов является символ переноса строки.

Создадим в корне сайта файл data.txt со следующим содержимым:

Теперь запустим скрипт index.php со следующим кодом:

При запуске этого скрипта мы получим в браузере:

Заметили, что у первых двух строк длина 7 символов вместо пяти? Это из-за того, что каждая строка содержит в конце символы переноса строки.

Чаще всего они нам не нужны, поэтому их можно убрать, передав вторым параметром константу FILE_IGNORE_NEW_LINES :

Теперь у всех строк будет по 5 символов.

Если нам необходимо получить только заполненные строки в файле и пропустить пустые, можно передать вторым параметром константу FILE_SKIP_EMPTY_LINES :

Разумеется, мы можем передать сразу две константы:

Создание файла и запись в файл: file_put_contents()

Функция file_put_contents() позволяет создать файл и заполнить его данными.

Чтобы не перезаписывать данные, а добавить их в конец файла, нужно передать третьим параметром константу FILE_APPEND :

Также вторым параметром можно передать массив:

Но этот вариант не очень удобен, поскольку все элементы массива запишутся подряд, без каких-либо разделителей. Чтобы их добавить, можно использовать функцию implode:

Создание папки или структуры папок

Создать папку можно с помощью функции mkdir() (make directory):

Кроме этого, второй параметр может игнорироваться при заданной umask (пользовательская маска (user mask), которая нужна для определения конечных прав доступа). В этом случае принудительно сменить права можно функцией chmod() :

Также мы можем создать структуру папок рекурсивно, для этого нужно третьим параметром передать true :

Но в этом случае права доступа будут заданы только для конечной папки. Для изменения прав у каждой из папок придётся указывать права вручную:

Проверка существования файла или папки

Проверить существование папки или файла можно с помощью функции file_exists() :

Если вы хотите проверить существование только папки или только файла, для этого есть специальные функции is_dir() и is_file() :

Проверка прав доступа

Функции is_readable() и is_writable() проверяют, есть ли у пользователя, от имени которого запущен PHP, права на чтение и запись файла или папки:

Копирование, перенос и удаление файла

Для удаления файлов используется функция unlink() :

Чтобы скопировать файл, используем функцию copy() :

Для переименования и переноса файла в другую папку используется функция rename() :

Работа с файлами с помощью fopen()

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

Итак, открыть (или создать и открыть) файл можно с помощью функции fopen() :

Для построчного чтения файла используется функция fgets() :

Также в PHP существует множество других полезных функций, работающих с дескриптором файла. Почитать о них можно в документации.

Источник

Существует файл в php примеры

Все способы проверки существования файла

Что такое file_exists

Синтаксис функции file_exists

Давайте попробуем разобрать синтаксис функции file_exists

Как проще написать функцию file_exists

Как переводится file_exists.

File already exists перевод

Что возвращает file_exists

Как получить возвращаемые значения относительно файла в file_exists

Применим её к file_exists таким образом:

$file = «/index.html»; //главная страница сайта

Результат возврата функции file_exists к существующему файлу

Тоже самое проделаем с файлом, который не существует! Внутри неважно что мы напишем, должно быть единственное условие, что файла не существует:

Результат возврата функции file_exists к не существующему файлу

Всего три варианта проверки file_exists

Вообще существует, как минимум 3 варианта написания пути к файлу, это:

Локально(поскольку данным вариантом пути я никогда не пользуюсь, то и смыслы писать о нём нет).

Далее. в подробностях рассмотрим эти три варианта!

Существует ли файл в папке проверка локально file_exists

Предположим, что файл со скриптом и проверяемый файл лежат в одной папке, тогда можно проверить существует ли файл локально таким образом:

Если у вас на сайте единая точка входа, и оба файла подчинены этому, то file_exists вернет «true» хотя должен вернуть «false»(при отсутствующем файле. ) проверить существует ли папка php. Смотреть фото проверить существует ли папка php. Смотреть картинку проверить существует ли папка php. Картинка про проверить существует ли папка php. Фото проверить существует ли папка php

Нужен пример!? легко!

Если мы сейчас посмотрим в адресную строку, то мы увидим вот это:

Давайте выведем этот код прямо здесь:

— Парадокс!? Нет! Объясняется просто!

Чтобы вы понимали, именно проверять таким образом локально, в приведенном примере, корневая папка, будет той локальной папкой для этой проверки существования файла!

Все файлы, например sitemap.xml, которые будут физически находиться в корневой папке сайта, file_exists будет возвращать true!

Проделаем тоже относительно нашего файла, на котором данный текст

И второй файл. на котором расположим точно такую же запись, кроме названия самого файла.

Два идентичных кода с использованием функции file_exists.

Расположенных на файлах отличающихся правилом обработки единая точка входа

Будут давать противоположные ответы.

Проверка существования файла по абсолютному пути file_exists

Проверка существования файла по пути на сервере file_exists

Теперь возьмем тоже самый существующий файл и применим уже не абсолютный путь, а путь на сервере до файла и вставим его в в функцию file_exists

И получим результат работы функции file_exists :

Вывод о существовании файла и функции file_exists

Какой вывод можно сделать по тем проверкам существования или отсутствия файла на сервере!?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *