Блок WordPress - это какая-то php функция? - PullRequest
0 голосов
/ 14 апреля 2020

Я создал файл php внутри root моего сайта (example.com/file.php):

$head = array_change_key_case(get_headers("https://example.com/somefile.zip", TRUE));
$filesize = $head['content-length'];
echo $filesize;

Когда я запускаю файл, я получаю следующий вывод: 1234173 Возвращает размер файла в килобайтах. Я также использую точно такой же код в моей теме WordPress (example.com/wp-content/themes/my_theme/single.php), но там вывод всегда равен 0.

Почему? (Я использую этот код для получения размера файлов в моем окне загрузки)

Я получаю те же результаты, когда использую curl. (curl нормально в моем root, но у него нет параметра content-length в wp)

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Решено!

На самом деле проблема была моей ошибкой. Я использую URL-адреса, например, так:

"/Path_to_file/file.zip"

, и я изменил на:

"Https://wxample.com/path/file.zip"

URL должен содержать адрес сайта.

спасибо всем

0 голосов
/ 14 апреля 2020

Я думаю, что это проблема WordPress. Как видите, у вашего образца есть реальный URL. но когда вам нужно получить доступ к my_theme / single. php, это недействительно. давайте сначала посмотрим на код. single. php для отображения поста. но пост есть постоянные ссылки. Когда URL загружен, создается заголовок. но если мы назвали сингл. php, он заблокирован. Если у вас есть плагин для разработки, мы можем увидеть ABS_PATH. Если ABS_PATH не определен, это означает, что файл загружен wp-load. php. Так что, если мы назвали сингл. php, он не включит ядро ​​Wordpress. Это неверный ответ и проблемы. На самом деле, мы не можем получить доступ к специальным файлам из темы.
Для Wordpress функция диспетчера есть в example.com/index.php.

...