How to delete a file via PHP?
How do I delete a file from my server with PHP if the file is in another directory?
Here is my page layout:
- projects/backend/removeProjectData.php (this file deletes all my entries for the database and should also delete the related file)
- public_files/22.pdf (the place where the file is located.)
I’m using the unlink function:
But this always gives me an error that the file does not exist. Any ideas?
6 Answers 6
The following should help
-
— Returns canonicalized absolute pathname — Tells whether the filename is writable — Deletes a file
Run your filepath through realpath, then check if the returned path is writable and if so, unlink it.
![]()
![]()
![]()
Check your permissions first of all on the file, to make sure you can a) see it from your script, and b) are able to delete it.
You can also use a path calculated from the directory you’re currently running the script in, eg:
(in PHP 5.3 I believe you can use the __DIR__ constant instead of dirname() but I’ve not used it myself yet)
You can delete the file using
but if you are deleting a file from it’s http path then this unlink is not work proper. You have to give a file path correct.
AIO solution, handles everything, It’s not my work but I just improved myself. Enjoy!
I know this question is a bit old, but this is something simple that works for me very well to delete images off my project I’m working on.
The dirname(__FILE__) section prints out the base path to your project. The /img/tasks/ are two folders down from my base path. And finally, there’s my image I want to delete which you can make into anything you need to.
With this I have not had any problem getting to my files on my server and deleting them.
Not the answer you're looking for? Browse other questions tagged php file-io or ask your own question.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Как удалить файл php
Для перемещения файла применяется функция rename() :
Если у нас в каталоге файла hello.txt имеется подкаталог subdir , то файл будет в него перемещен. Если файл был успешно перемещен, функция возвратит значение true .
Копирование файла
Для копирования файла используется функция copy() . Она принимает имя копируемого файла, и имя копии файла. И если копирование прошло успешно, возвращает значение true :
Удаление файла
Для удаления файла применяется функция unlink , которая принимает имя файла и возвращает значение true при успешном удалении файла:
Создание каталога
Для создания каталога используется функция mkdir() :
В данном случае mkdir создает новый каталог «newdir» в текущем каталоге. Если создание пройдет успешно, то функция возвращает значение true , иначе — false
Для создания новой папки в корневом каталоге можно использовать выражение mkdir(«/newdir») .
Удаление каталога
Для удаления каталога применяется функция rmdir() . Ее использование аналогично mkdir():
Операции с каталогами
Для получения абсолютного пути к текущему каталогу используется функция getcwd() , которая возвращает путь в виде строки:
Функция opendir() открывает определенный каталог для считывания из него информации о файлах и каталогах. При успешном открытии каталога функция возвращает дескриптор открытого каталога. После окончания работы с каталогом его надо закрыть функцией closedir() .
Для считывания имени отдельного файла в открытом каталоге применяется функция readdir() .
Теперь объединим эти функции и выведем на страницу все файлы и подкаталоги из текущего каталога:
Операции над файлами в PHP
Функция rename позволяет переименовывать файлы. Первым параметром указываем старое имя файла, вторым — новое имя файла:
Пусть в корне вашего сайта лежит файл old.txt . Переименуйте его на new.txt .
Перемещение
Функция rename позволяет также перемещать файлы. Для этого вторым параметром функции нужно указать новый путь к файлу. Давайте для примера перенесем наш файл в папку dir , одновременно переименовав его на new.txt :
Можно сделать только перемещение, а сам файл не переименовывать:
Пусть в корне вашего сайта лежит файл file.txt . Пусть также в корне вашего сайта лежит папка dir . Переместите файл в эту папку.
Пусть в корне вашего сайта лежит папка dir1 , а в ней файл file.txt . Пусть также в корне вашего сайта лежит папка dir2 . Переместите файл в эту папку.
Копирование
Функция copy позволяет копировать файл. Первым параметром она принимает путь к файлу, который хотим копировать, вторым — новый путь файла, куда хотим положить копию. Мы можем сделать копию и положить ее рядом, или положить ее в другую папку. Сделаем просто копию:
Давайте для примера сделаем копию файла, разместив ее в папке с исходным файлом:
А теперь давайте поместим нашу копию в папку dir :
Пусть в корне вашего сайта лежит файл. С помощью цикла положите в папку copy пять копий этого файла. Именем файлов копий пусть будут их порядковые номера.
Удаление
Для удаления файлов используется функция unlink . Параметром она принимает путь к удаляемому файлу:
Пусть в корне вашего сайта лежат файлы 1.txt , 2.txt и 3.txt . Вручную сделайте массив с именами этих файлов. Переберите его циклом и удалите все эти файлы.
Размер файла
Функция filesize позволяет находить размеры файла в байтах. Пример:
Размер в байтах легко можно перевести в килобайты:
А теперь давайте переведем в мегабайты:
Пусть в корне вашего сайта лежит файл. Узнайте его размер, выведите на экран.
Модифицируйте предыдущую задачу так, чтобы размер файла выводился в килобайтах.
Положите в корень вашего сайта какую-нибудь картинку размером более мегабайта. Узнайте размер этого файла и переведите его в мегабайты.
Положите в корень вашего сайта какой-нибудь фильм размером более гигабайта. Узнайте размер этого файла и переведите его в гигабайты.
Проверка существования
Функция file_exists проверяет существует ли файл, путь к которому передан параметром. Пример:
Как правило, эта функция используется для того, чтобы проверить наличие файла перед выполнением операции над ним. Например, так: