當我使用wp_get_attachment_url($name->name)
時,它使用完整的URL(即http://domain.com/files/file.zip
)。看起來這不適合我的使用,因爲我只想獲取沒有域的URL(只是子路徑)。如何在沒有域名的情況下輸出url
它工作得很好,如果我在代碼中手動輸入files/file.zip
。如何格式化wp_get_attachment中的URL以獲取此格式的URL,而不使用域名?
當我使用wp_get_attachment_url($name->name)
時,它使用完整的URL(即http://domain.com/files/file.zip
)。看起來這不適合我的使用,因爲我只想獲取沒有域的URL(只是子路徑)。如何在沒有域名的情況下輸出url
它工作得很好,如果我在代碼中手動輸入files/file.zip
。如何格式化wp_get_attachment中的URL以獲取此格式的URL,而不使用域名?
echo ltrim(parse_url('http://domain.com/files/file.zip', PHP_URL_PATH), '/');
或
echo substr(parse_url('http://domain.com/files/file.zip', PHP_URL_PATH), 1);
您可以嘗試使用正則表達式和測試它像這樣...
<?php
$string = 'http://domain.com/files/file.zip';
$pattern = '/\/([\w+\/]+\.\w+)$/';
$replacement = '$1';
echo preg_replace($pattern, $replacement, $string);
?>
似乎以某種方式去除URL,但它不適用於下載。如果我echo substr(parse_url(wp_get_attachment_url($ promo-> promo),PHP_URL_PATH),1)'我得到'files/file.zip',但是如果我在我的代碼中使用它來設置文件名的下載。如果我在我的代碼中手動輸入'files/file.zip',則文件沒有損壞。 – janlindso 2014-10-19 13:32:39
@janlindso比問題是在別的東西。可能有些腳本會輸出其他內容。逐字節比較兩個文件以查看差異。 – Cheery 2014-10-19 17:31:08
當我用wp_get_attachment_url獲取URL時,它看起來不會去除URL。它只是返回完整的URL,然後如果我嘗試回顯它。 – janlindso 2014-10-19 23:54:39