phpcms不能保存遠端圖片怎麼辦
phpcms不能儲存遠端圖片怎麼辦?
phpcms v9預設情況下只能儲存http協定的遠端圖片,當然,你也可以自己設定是否儲存。不知道在哪裡設定?後台->內容->模型管理->文章模型-字段管理->content字段-修改,見下圖:
言歸正傳,現在有很多網站為了安全,啟用了https協議,從這些網站複製過來的圖片也是https的,這種情況下phpcms是不能夠自動保存遠端圖片的。修改phpcms/libs/classes/attachment.class.php檔案中的fillurl函數就可以了,如下:
/** * 补全网址 * * @paramstring$surl源地址 * @paramstring$absurl相对地址 * @paramstring$basehref网址 * @returnstring网址 * 增加对远程https协议下图片的本地化保存 */ function fillurl($surl, $absurl, $basehref = '') { if($basehref != '') { $preurl = strtolower(substr($surl,0,6)); if($preurl=='http://' || $preurl=='https://' || $preurl=='ftp://' ||$preurl=='mms://' || $preurl=='rtsp://' || $preurl=='thunde' || $preurl=='emule://'|| $preurl=='ed2k://') return $surl; else return $basehref.'/'.$surl; } $i = 0; $dstr = ''; $pstr = ''; $okurl = ''; $pathStep = 0; $surl = trim($surl); if($surl=='') return ''; $urls = @parse_url(SITE_URL); $HomeUrl = $urls['host']; $BaseUrlPath = $HomeUrl.$urls['path']; $BaseUrlPath = preg_replace("/\/([^\/]*)\.(.*)$/",'/',$BaseUrlPath); $BaseUrlPath = preg_replace("/\/$/",'',$BaseUrlPath); $pos = strpos($surl,'#'); if($pos>0) $surl = substr($surl,0,$pos); if($surl[0]=='/') { $okurl = 'http://'.$HomeUrl.'/'.$surl; } elseif($surl[0] == '.') { if(strlen($surl)<=2) return ''; elseif($surl[0]=='/') { $okurl = 'http://'.$BaseUrlPath.'/'.substr($surl,2,strlen($surl)-2); } else { $urls = explode('/',$surl); foreach($urls as $u) { if($u=="..") $pathStep++; else if($i<count($urls)-1) $dstr .= $urls[$i].'/'; else $dstr .= $urls[$i]; $i++; } $urls = explode('/', $BaseUrlPath); if(count($urls) <= $pathStep) return ''; else { $pstr = 'http://'; for($i=0;$i<count($urls)-$pathStep;$i++) { $pstr .= $urls[$i].'/'; } $okurl = $pstr.$dstr; } } } else { $preurl = strtolower(substr($surl,0,6)); if(strlen($surl)<7) $okurl = 'http://'.$BaseUrlPath.'/'.$surl; elseif($preurl=="http:/" || $preurl=="https:" ||$preurl=='ftp://' ||$preurl=='mms://' || $preurl=="rtsp://" || $preurl=='thunde' || $preurl=='emule:'|| $preurl=='ed2k:/') $okurl = $surl; else $okurl = 'http://'.$BaseUrlPath.'/'.$surl; } $preurl = strtolower(substr($okurl,0,6)); if($preurl=='ftp://' || $preurl=='mms://' || $preurl=='rtsp://' || $preurl=='thunde' || $preurl=='emule:'|| $preurl=='ed2k:/') { return $okurl; } else { $okurl = preg_replace('/^(http:\/\/)/i','',$okurl); $okurl = preg_replace('/^(https:\/\/)/i','',$okurl); $okurl = preg_replace('/\/{1,}/i','/',$okurl); return 'http://'.$okurl; } }
其中https為新增的,原來沒有。
PHP中文網,大量的免費PHPCMS教學,歡迎線上學習!
以上是phpcms不能保存遠端圖片怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP CMS 是一種基於 PHP 的開源內容管理系統,用於管理網站內容,其特點包括易用性、強大功能、可擴充性、安全性高和免費開源。它可以節省時間、提升網站品質、增強協作並降低開發成本,廣泛應用於新聞網站、部落格、企業網站、電子商務網站和社群論壇等各種網站。

phpcms跳到詳情頁方法:1、使用header函數來產生跳轉連結;2、循環遍歷內容清單;3、取得內容的標題和詳情頁連結;4、產生跳轉連結即可。

標題:微信登入整合指南:PHPCMS實戰在今日的網路時代,社群化登入已成為網站必備的功能之一。微信作為國內最受歡迎的社群平台之一,其登入功能也被越來越多的網站所採用。本文將介紹如何在PHPCMS網站中整合微信登入功能,並提供具體的程式碼範例。第一步:註冊微信開放平台帳號首先,我們需要在微信開放平台上註冊一個開發者帳號,申請對應的開發權限。登入[微信開放平台]

PHPCMS 是一款免費開源的內容管理系統 (CMS),特色包括:開放原始碼、模組化、靈活、用戶友好和社群支援。它可用於創建各種類型的網站,包括企業網站、電子商務網站、部落格和社群論壇。技術需求包括:PHP 5.6 或更高版本、MySQL、MariaDB 或 PostgreSQL 資料庫以及 Apache 或 Nginx Web 伺服器。

phpcms不是完全免費的。 phpcms屬於開源cms系統,但開源並不等於免費,它有兩個版本:免費版和商業版,免費版僅限於個人非商業用途,而商業版需要購買授權;個人可以作為研究使用,如果商業應用,需要支付一定費用。

phpcms用mysql資料庫。 phpcms是PHP開源網站管理系統,採用PHP+MYSQL做為技術基礎來開發。 PHPCMS V9採用OOP方式進行基礎運行框架搭建,支援的PHP版本是PHP5以上、支援的MYSQL版本是MySql 4.1以上版本。

phpcms有兩個版本比較知名,分別是:1、phpCMS4,支援自訂URL 規則,網站管理後台美觀易用,前端外掛許多,可自由擴充功能;2、phpCMS2008R1,支援多語言、多網站管理,頁面管理器便捷靈活方便,非常輕量,運轉速度快。

phpcms修改網站名稱的方法:1、使用管理員登入後台頁面;2、在頂部的選單列找到「設定」選項單擊,然後在左側的選單中找到「網站管理」;3、找到需要修改的站點,點選該站點網域右面的修改連結;4、在彈出的視窗中修改站點名稱即可。
