Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для Fatmarmelad
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,613

Как использовать DELETE (http) в PHP коде?

19.04.2021, 23:22. Показов 3074. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Ищу такую информацию. Метод HTTP DELETE удаляет ресурс.
То есть, можно задать адрес, который можно удалить данным методом, я правильно понял?
Как это можно прописать в коде?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.04.2021, 23:22
Ответы с готовыми решениями:

Ошибка в коде(не могу корректно использовать функцию Delete)
Господа, возникла следующая проблемма, а именно- при использовании процедуры Delete(S,n1,n2) всегда возникает ошибка " Constant...

В PHP-коде не выполняются mysql-запросы DELETE и UPDATE
Доброго времени суток, собирая своего "франкенштейна" по кусочкам, наткнулся на такую проблему: Есть два php-файла: ...

Мне нужно написать аналог процедуры Delete. Процедуру Delete и функцию copy не использовать
Я начинающий программист, и не могу выполнить задачу. Помогите пожалуйста(

6
Невнимательный
 Аватар для ft4l
2836 / 1262 / 358
Регистрация: 08.02.2013
Сообщений: 7,352
Записей в блоге: 2
20.04.2021, 03:58
Лучший ответ Сообщение было отмечено Para bellum как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
header('Content-type: text/plain; charset=utf-8');
 
$url = "http://www.example.org/";
$basicAuth = base64_encode('username:password');
$opts = array('http' =>
    array(
        'method' => 'DELETE',
        'protocol_version' => 1.1,
        'header' => ['Authorization: Basic ' . $basicAuth,
            'Cookie: foo=bar; bar=baz'
            ],
        'max_redirects' => '0',
        'ignore_errors' => '1',
        'user_agent'=>'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Firefox/88.0'
    )
);
 
$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);
 
echo
 'stream_get_meta_data => ',var_export(stream_get_meta_data($stream), 1),
 "\n\n",
 'stream_get_contents => ',var_export(stream_get_contents($stream), 1),"\n";
 
fclose($stream);
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
stream_get_meta_data => array (
  'timed_out' => false,
  'blocked' => true,
  'eof' => false,
  'wrapper_data' => 
  array (
    0 => 'HTTP/1.1 405 Method Not Allowed',
    1 => 'Cache-Control: max-age=604800',
    2 => 'Content-Type: text/html; charset=UTF-8',
    3 => 'Date: Tue, 20 Apr 2021 00:57:00 GMT',
    4 => 'Expires: Tue, 27 Apr 2021 00:57:00 GMT',
    5 => 'Server: EOS (vny/044F)',
    6 => 'Content-Length: 0',
    7 => 'Connection: close',
  ),
  'wrapper_type' => 'http',
  'stream_type' => 'tcp_socket/ssl',
  'mode' => 'r',
  'unread_bytes' => 0,
  'seekable' => false,
  'uri' => 'http://www.example.org/',
)
 
stream_get_contents => ''
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
20.04.2021, 06:56
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
То есть, можно задать адрес, который можно удалить данным методом, я правильно понял?
Удаляется не адрес. А какая-то сущность при DELETE-запросе на этот адрес.

Тут все условно. Сам HTTP-запрос ничего не удаляет. Вы делаете запрос, а на сервере запускается какой-то сценарий (PHP-скрипт, например), который производит удаление чего-либо.
С тем же успехом можно выполнить POST-запрос.
1
1300 / 993 / 231
Регистрация: 01.10.2018
Сообщений: 3,865
20.04.2021, 11:45
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
Как это можно прописать в коде?
С таким вопросом x_lab заслуживает полноценного лайка! Он вам показал один из способов выполнения DELETE-запроса на PHP. Если вы имели в виду обработку, нужно было нормально об этом написать. В PHP все запросы обрабатываются одинаково, кроме тех, у которых может быть "тело" (у DELETE его нет), причем с "телом" тоже обрабатываются по-разному, если не использовать расширения наподобие apfd.


Если прошли маршрутизацию, валидацию параметров, то просто проверяете метод (если этого не было сделано при маршрутизации) и выполняете действие, например:
PHP
1
2
3
4
5
if ($_SERVER['REQUEST_METHOD']=='DELETE')
{
    query("DELETE FROM `{$table($r0['id'])}` WHERE `id`='{$r1['id']}'");
    ...
}
1
 Аватар для Fatmarmelad
34 / 10 / 2
Регистрация: 20.02.2016
Сообщений: 1,613
20.04.2021, 23:33  [ТС]
Цитата Сообщение от Para bellum Посмотреть сообщение
Тут все условно. Сам HTTP-запрос ничего не удаляет. Вы делаете запрос, а на сервере запускается какой-то сценарий (PHP-скрипт, например), который производит удаление чего-либо.
С тем же успехом можно выполнить POST-запрос.
Зачем создан тогда этот запрос? В чём его смысл?
0
Невнимательный
 Аватар для ft4l
2836 / 1262 / 358
Регистрация: 08.02.2013
Сообщений: 7,352
Записей в блоге: 2
21.04.2021, 06:35
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
Зачем создан тогда этот запрос?
Для возможности реализации например приложений с RESTful-архитектурой...
... изначально в http закладывалось всего и поболее.
Просто браузеры/кодеры ограничились только двумя-тремя методамми запросов,
Но клиенты можно написать любые
... из браузера на javascript наверно только можно использовать delete
или из расширений браузеров каких-нибудь
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
21.04.2021, 07:06
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
Зачем создан тогда этот запрос?
Метод, вы хотели сказать?
Цитата Сообщение от Fatmarmelad Посмотреть сообщение
В чём его смысл?
Просто в логичности. Посмотрите эту статью (особенно "В игру вступает REST"): https://habr.com/ru/post/50147/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2021, 07:06
Помогаю со студенческими работами здесь

Можно ли использовать PHP и java script в одном коде?
можно ли в файлы страницы *.php с php скриптами добавлять java scriptы ?

Стоит ли использовать new delete[] или как вернуть массив из функции?
char* func() { char* Text = new char{'1', '2', '3', '\0'}; return Text; } void main() { char a; char b; char c; ...

HTTP-сервер: Как использовать кэш
Доброго времени суток, уважаемые. Что бы дальше было понятней, немного обо мне: занимаюсь программированием уже 3 года. Пишу для веб...

Как использовать компоненту Indy HTTP?
Подскажите как использовать компоненту Indy HTTP. При попытке подключиться к серверу возникает ошибка: 400PAD REGUEST На компьютере...

Лезет на сайты http://whoismistergreen.com/runk/c.php и http://patr1ckjane.com/runk/c.php
Здравствуйте Комп сам лезет на сайты http://whoismistergreen.com/runk/c.php и http://patr1ckjane.com/runk/c.php. Касперский их успешно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru