gpt4 book ai didi

php - 获取谷歌字体列表

转载 作者:行者123 更新时间:2023-12-04 22:22:43 25 4
gpt4 key购买 nike

我想在选择框中获取谷歌网络字体列表以选择一种字体。我正在尝试以下功能,但它给出了错误。

代码:

function get_google_fonts() {
$url = "https://www.googleapis.com/webfonts/v1/webfonts?sort=alpha";
$result = json_response( $url );
$font_list = array();
foreach ( $result->items as $font ) {
$font_list[] .= $font->family;
}
return $font_list;
}

function json_response( $url ) {
$raw = file_get_contents( $url, 0, null, null );
$decoded = json_decode( $raw );
return $decoded;
}

错误:

Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP.

如果我将 https 更改为 http,我会收到此错误:

file_get_contents(http://www.googleapis.com/webfonts/v1/webfonts?sort=alpha): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in

我想这是因为我的服务器上的 PHP 设置,我无法更改。那么,有没有其他方法可以从 Google 获取字体列表?谢谢。

最佳答案

要允许 https 包装器,您必须具有 php_openssl 扩展并启用 allow_url_include

您可以编辑 php.ini 来设置这些值:

extension=php_openssl.dll

allow_url_include = On

如果这些值不存在,请添加这些行。

如果你不能编辑你的php.ini文件,那么你可以在PHP文件中设置:

ini_set('allow_url_fopen', 'on');
ini_set('allow_url_include', 'on');

您也可以尝试使用 CURL 而不是 file_get_contentsCURLfile_get_contents

快得多
$url = "https://www.googleapis.com/webfonts/v1/webfonts?sort=alpha";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);

echo $result;

希望这对您有所帮助。 :)

关于php - 获取谷歌字体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12615567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com