Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Skript zur Implementierung von Markdown-Artikeln, die auf Qiniu Picture Bed hochgeladen wurden

PHP-Skript zur Implementierung von Markdown-Artikeln, die auf Qiniu Picture Bed hochgeladen wurden

藏色散人
Freigeben: 2023-04-08 12:34:02
nach vorne
2696 Leute haben es durchsucht

Nachdem Sie Markdown zum Schreiben von Artikeln verwendet haben, müssen Sie diese häufig auf verschiedenen Plattformen veröffentlichen. Die Bilder des Artikels müssen daher manuell hochgeladen werden, was sehr umständlich ist Es wird empfohlen, die Bilder auf das Bild hochzuladen. Auf diese Weise kann ein Artikel problemlos mit den wichtigsten Plattformen synchronisiert werden. Als nächstes verwenden Sie PHP, um diese Funktion zu implementieren und Qiniu Cloud als Bildbett zu verwenden

Erstellen Sie das Projekt und geben Sie es ein

$ mkdir markdown-images-to-qiniu
$ cd markdown-images-to-qiniu
Nach dem Login kopieren

Installieren Sie die offizielle Qiniu-Erweiterung

$ composer require qiniu/php-sdk
Nach dem Login kopieren

Die Implementierungsidee ist sehr einfach

● Lesen Sie die Makrdown-Datei

● Gleichen Sie regelmäßig alle Bilder ab

● Laden Sie die Bilder der Reihe nach hoch

● Ersetzen Sie die Adresse des Artikelbilds mit der Bildbettadresse

● Speichern Sie den ersetzten Artikel

Das Folgende ist die spezifische Implementierung. Erstellen Sie zunächst das Skript index.php im Projektverzeichnis,

<?php
require &#39;vendor/autoload.php&#39;;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
// 1. 读取 `makrdown` 文件
$file = $argv[1];
if(! file_exists($file) ){
    return "找不到文件{$file}";
}
$orginalContent = file_get_contents($file);
// 2. 正则匹配出所有的图片
preg_match_all(
    &#39;/\!\[.*\]\(.+\)/&#39;,
    $orginalContent,
    $matches,
    PREG_PATTERN_ORDER
);
$mdImageArr = $matches[0];
if(! count($mdImageArr) ){
    return "无需上传图片";
}
// 3. 依次上传图片
$accessKey = &#39;你的 AccessKey&#39;;
$secretKey = &#39;你的 SecretKey&#39;;
$bucket = &#39;你的七牛空间名&#39;; // eg. mindgeek
$url = "空间所绑定的域名";  // eg. http://qiniu.site.com
$auth = new Auth($accessKey, $secretKey);
$token = $auth->uploadToken($bucket);
$uploadMgr = new UploadManager();
$content = $orginalContent;
foreach ($mdImageArr as $image) {
    $start = mb_strpos($image, &#39;](&#39;) + 2;
    $localPath = mb_substr($image, $start, -1);
    $extension = pathinfo($localPath)[&#39;extension&#39;];
    $uploadPath = uniqid(). ".". $extension;
    list($ret, $error) = $uploadMgr->putFile($token, $uploadPath, $localPath);
    if(! $error ){
        // 4. 将文章图片的地址替换为图床地址
        $content = str_replace($localPath, $url.$uploadPath, $content);
        echo "{$uploadPath} 上传成功。\n";
    } else {
        echo "{$uploadPath} 上传失败。\n";
    }
}
// 5. 保存替换后的文章
file_put_contents($file, $content);
Nach dem Login kopieren

verwenden

$ php index.php test.md
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPHP-Skript zur Implementierung von Markdown-Artikeln, die auf Qiniu Picture Bed hochgeladen wurden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage