#php #wordpress
#php #wordpress
Вопрос:
Я создал простой скрипт для загрузки файла в мой плагин WordPress, используя
wp_handle_upload
В базе данных хранится только ссылка на это изображение. Я хотел бы удалить этот загруженный файл, когда я удаляю сообщение, на которое он связан, однако с помощью
unlink()
не работает из-за структуры ссылок, которая выглядит следующим образом:
http://localhost/wp-content/uploads/2016/10/image.jpg
Кто-нибудь знает способ удалить «http: // [ip] /» из path или любой метод WordPress для удаления загруженного файла
Я был бы благодарен за помощь.
Ответ №1:
Вы можете использовать get_home_path(), чтобы получить корневой каталог. Тогда ваш код будет:
$url = 'http://localhost/wp-content/uploads/2016/10/image.jpg';
$path = parse_url($url, PHP_URL_PATH); // Remove "http://localhost"
$fullPath = get_home_path() . $path;
unlink($fullPath);
Комментарии:
1. Но как удалить http: // [ip]/ из ‘ localhost/wp-content/uploads/2016/10/image.jpg » чтобы получить «wp-content/uploads/2016/10/image.jpg ?
2. Вы можете использовать
parse_url($url, PHP_URL_PATH)
для этого. Смотрите обновленный ответ.