国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung PHP-Tutorial Wie kann das Problem gel?st werden, dass der Inhalt verloren geht, wenn PHP grafische Nachrichten mit mehreren Bildern auf die ?ffentliche WeChat-Plattform hochl?dt?

Wie kann das Problem gel?st werden, dass der Inhalt verloren geht, wenn PHP grafische Nachrichten mit mehreren Bildern auf die ?ffentliche WeChat-Plattform hochl?dt?

Aug 08, 2016 am 09:06 AM
php Wechat Wechat ?ffentliche Plattform

1. Frage:
Laden Sie einen Artikel in WordPress als permanentes Material auf WeChat hoch:
Wenn der Artikel nur ein Bild enth?lt, kann es normal hochgeladen werden, und wenn Sie dieses Material auf der ?ffentlichen WeChat-Plattform anzeigen , Textinhalte und Bilder k?nnen vollst?ndig angezeigt werden.
Fügen Sie dem Artikel ein weiteres Bild hinzu (wenn das Artikelbild gr??er als 1 ist). Beim Betrachten dieses Materials im WeChat-Hintergrund wird festgestellt, dass der Artikel unvollst?ndig ist: Der gesamte Inhalt ab dem ersten Bild geht verloren.
Zus?tzliche Hinweise:
(1) Ich habe ein Plug-in geschrieben, um WordPress-Artikel in die WeChat-Materialbibliothek hochzuladen.
Hauptprozess: Curl erfasst das Bild im Artikel und l?dt es in die WeChat-Materialbibliothek hoch, ruft die URL ab und ersetzt dann die Bildquelle im WordPress-Artikel entsprechend.
Erstellen Sie dann eine JSON-Zeichenfolge aus Bild und Textnachricht und laden Sie sie auf WeChat hoch.
(2) Dem WordPress-Artikel werden keine Stile hinzugefügt, nur

, -Tags
2, Code:

<code>// 上傳圖文消息代碼
$raw = Curl::curl_post_wx( 'https://api.weixin.qq.com/cgi-bin/material/add_news?access_token='
    . $token, self::json_article( $post_ids, $token ), false );

/**
 * 將文章內(nèi)容構(gòu)造成json字符串
 *
 * @param array $post_ids
 * @param string $token
 * @return string json
 */
private function json_article( $post_ids, $token ) {
    $mp_article = '{"articles":[';
    foreach ( $post_ids as $post_id ) {
        $post = get_post( $post_id );
        $post_urls = self::preg_match_src( $post->post_content );
        if ( $post_urls ) {
            // 如果文章中有圖片,將文章中的圖片上傳至微信素材庫
            foreach ( $post_urls as $post_url ) {
                if ( strpos( $post_url, 'qpic.cn' ) === false ) {
                    // 如果圖片沒有上傳到微信服務(wù)器
                    $res = Curl::curl_post_wx( 'https://api.weixin.qq.com/cgi-bin/material/add_material?'
                        . 'access_token=' . $token . '&type=image', false, Curl::curl_get_img( $post_url ) );
                    //替換文章內(nèi)容img中的src地址
                    $post->post_content = str_replace( $post_url, $res['url'], $post->post_content );
                }
                $post->post_content = str_replace( '"', '\"', $post->post_content );
            }
        }

        // 獲取縮略圖并上傳
        // 相應(yīng)的code省略

        // 構(gòu)造json
        $mp_article .= '{
            "title": "' . $post->post_title . '",
            "content_source_url": "' . get_permalink( $post_id, false ) . '",
            "thumb_media_id": "' . $thumb_res['media_id'] . '",
            "content": "' . htmlspecialchars_decode( $post->post_content ) . '",
            "show_cover_pic": 0,
        ';
        if ( !empty($post->post_excerpt ) ) {
            $mp_article .= '"digest": "' . $post->post_excerpt . '",';
        }
        $mp_article .= '},';
    }

    return rtrim($mp_article, ',') . ']}';
}</code>

3. Fehlermeldung: WeChat hat keine Fehlermeldung zurückgegeben.
4, Screenshot: Keine.
5, andere Referenzen:
Ich habe gesehen, dass tilun_099 auf ?hnliche Probleme im CSDN gesto?en ist: http://bbs.csdn.net/topics/39....
Das Problem mit tilun_099 ist: ?Wenn beim Hochladen von Materialien mit mehreren Bildern und Texten der Inhalt einfacher Text ist, kann der Upload erfolgreich sein, die media_id kann abgerufen werden und dann über die Gruppensendeschnittstelle die Das Mobiltelefon kann die Mehrbild- und Textinformationen korrekt abrufen. Wenn der Inhalt jedoch HTML-Tags wie

,

usw. enth?lt, kann die media_id nach dem Hochladen abgerufen werden Nach dem Massenversand erh?lt das Mobiltelefon ein einzelnes Bild und einen einzelnen Text. Der Link enth?lt keinen spezifischen Inhalt. ?
Die endgültige L?sung von tilun_099 sein Problem: ?Obwohl niemand geantwortet hat, habe ich endlich das Problem gel?st, wenn der Inhalt HTML-Tags enth?lt. Wenn ja, müssen Sie den Inhalt maskieren. Wenn er Inhalte mit style=".." und "" enth?lt, müssen Sie bezahlen mehr Aufmerksamkeit darauf richten.

<code>foreach ($news as &$item){
    foreach ($item as $k=>$v){
        if($k =='content'){
            $item[$k] = urlencode(htmlspecialchars(str_replace("\"","'",$v)));
            }else{
                $item[$k] = urlencode($v);
            }
        }
    }</code>
Es ist notwendig, die ?“-Anführungszeichen in HTML zun?chst in einfache Anführungszeichen und dann in HTML-Entit?ten umzuwandeln, damit die Tags bei der URL-Codierung nicht beeintr?chtigt werden.

<code>$data=array("articles"=>$news);
    $data=json_encode($data);
    $end_data= urldecode($data);
    $end_data= htmlspecialchars_decode($end_data);</code>
Vor dem Hochladen den Inhalt urldecodieren und die HTML-Entit?ten in HTML-Tags konvertieren, dann ist alles in Ordnung.

Getestet! ”

Das Problem, auf das er und ich gesto?en sind, ist etwas ?hnlich, aber nicht genau das gleiche. Ich habe JSON direkt erstellt.

Antwortinhalt:

1. Frage:

Laden Sie einen Artikel in WordPress als permanentes Material auf WeChat hoch:
Wenn der Artikel nur ein Bild enth?lt, kann es normal hochgeladen werden, und wenn Sie dieses Material auf der ?ffentlichen WeChat-Plattform anzeigen , Textinhalte und Bilder k?nnen vollst?ndig angezeigt werden.
Fügen Sie dem Artikel ein weiteres Bild hinzu (wenn das Artikelbild gr??er als 1 ist). Beim Betrachten dieses Materials im WeChat-Hintergrund wird festgestellt, dass der Artikel unvollst?ndig ist: Der gesamte Inhalt ab dem ersten Bild geht verloren.
Zus?tzliche Hinweise:
(1) Ich habe ein Plug-in geschrieben, um WordPress-Artikel in die WeChat-Materialbibliothek hochzuladen.
Hauptprozess: Curl erfasst das Bild im Artikel und l?dt es in die WeChat-Materialbibliothek hoch, ruft die URL ab und ersetzt dann die Bildquelle im WordPress-Artikel entsprechend.
Erstellen Sie dann eine JSON-Zeichenfolge aus Bild und Textnachricht und laden Sie sie auf WeChat hoch.
(2) Dem WordPress-Artikel werden keine Stile hinzugefügt, nur

, -Tags
2, Code:

<code>// 上傳圖文消息代碼
$raw = Curl::curl_post_wx( 'https://api.weixin.qq.com/cgi-bin/material/add_news?access_token='
    . $token, self::json_article( $post_ids, $token ), false );

/**
 * 將文章內(nèi)容構(gòu)造成json字符串
 *
 * @param array $post_ids
 * @param string $token
 * @return string json
 */
private function json_article( $post_ids, $token ) {
    $mp_article = '{"articles":[';
    foreach ( $post_ids as $post_id ) {
        $post = get_post( $post_id );
        $post_urls = self::preg_match_src( $post->post_content );
        if ( $post_urls ) {
            // 如果文章中有圖片,將文章中的圖片上傳至微信素材庫
            foreach ( $post_urls as $post_url ) {
                if ( strpos( $post_url, 'qpic.cn' ) === false ) {
                    // 如果圖片沒有上傳到微信服務(wù)器
                    $res = Curl::curl_post_wx( 'https://api.weixin.qq.com/cgi-bin/material/add_material?'
                        . 'access_token=' . $token . '&type=image', false, Curl::curl_get_img( $post_url ) );
                    //替換文章內(nèi)容img中的src地址
                    $post->post_content = str_replace( $post_url, $res['url'], $post->post_content );
                }
                $post->post_content = str_replace( '"', '\"', $post->post_content );
            }
        }

        // 獲取縮略圖并上傳
        // 相應(yīng)的code省略

        // 構(gòu)造json
        $mp_article .= '{
            "title": "' . $post->post_title . '",
            "content_source_url": "' . get_permalink( $post_id, false ) . '",
            "thumb_media_id": "' . $thumb_res['media_id'] . '",
            "content": "' . htmlspecialchars_decode( $post->post_content ) . '",
            "show_cover_pic": 0,
        ';
        if ( !empty($post->post_excerpt ) ) {
            $mp_article .= '"digest": "' . $post->post_excerpt . '",';
        }
        $mp_article .= '},';
    }

    return rtrim($mp_article, ',') . ']}';
}</code>
3. Fehlermeldung: WeChat hat keine Fehlermeldung zurückgegeben.

4, Screenshot: Keine.
5, andere Referenzen:
Ich habe gesehen, dass tilun_099 auf ?hnliche Probleme im CSDN gesto?en ist: http://bbs.csdn.net/topics/39....
Das Problem mit tilun_099 ist: ?Wenn beim Hochladen von Materialien mit mehreren Bildern und Texten der Inhalt einfacher Text ist, kann der Upload erfolgreich sein, die media_id kann abgerufen werden und dann über die Gruppensendeschnittstelle die Das Mobiltelefon kann die Mehrbild- und Textinformationen korrekt abrufen. Wenn der Inhalt jedoch HTML-Tags wie

,

usw. enth?lt, kann die media_id nach dem Hochladen abgerufen werden Nach dem Massenversand erh?lt das Mobiltelefon ein einzelnes Bild und einen einzelnen Text. Der Link enth?lt keinen spezifischen Inhalt. ?
Die endgültige L?sung von tilun_099 sein Problem: ?Obwohl niemand geantwortet hat, habe ich endlich das Problem gel?st, wenn der Inhalt HTML-Tags enth?lt. Wenn ja, müssen Sie den Inhalt maskieren. Wenn er Inhalte mit style=".." und "" enth?lt, müssen Sie bezahlen mehr Aufmerksamkeit darauf richten.

Es ist notwendig, die Anführungszeichen ?“ im HTML zuerst in einfache Anführungszeichen und dann in HTML-Entit?ten umzuwandeln, damit die Tags bei der URL-Codierung nicht beeintr?chtigt werden.
<code>foreach ($news as &$item){
    foreach ($item as $k=>$v){
        if($k =='content'){
            $item[$k] = urlencode(htmlspecialchars(str_replace("\"","'",$v)));
            }else{
                $item[$k] = urlencode($v);
            }
        }
    }</code>

Vor dem Hochladen den Inhalt urldecodieren und die HTML-Entit?ten in HTML-Tags konvertieren, dann ist alles in Ordnung.
<code>$data=array("articles"=>$news);
    $data=json_encode($data);
    $end_data= urldecode($data);
    $end_data= htmlspecialchars_decode($end_data);</code>
Getestet! ”


Die Probleme, auf die er und ich gesto?en sind, sind etwas ?hnlich, aber nicht genau die gleichen. Ich habe JSON direkt erstellt.

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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Jenseits des Lampenstacks: Rolle von PHP in der modernen Enterprise -Architektur Jenseits des Lampenstacks: Rolle von PHP in der modernen Enterprise -Architektur Jul 27, 2025 am 04:31 AM

PhpisstillrelevantinMoDernEnterpriseEnvironments.1.ModerPhp (7.xand8.x) Angebote, strenge, jitkompilation und moderne Syntax, machte ma?geschneiderte Foreiglableforlarge-ScaleApplikationen

Aufbau belastbarer Mikrodienste mit PHP und Rabbitmq Aufbau belastbarer Mikrodienste mit PHP und Rabbitmq Jul 27, 2025 am 04:32 AM

Um einen flexiblen PHP -Microservice zu erstellen, müssen Sie Rabbitmq verwenden, um eine asynchrone Kommunikation zu erreichen. 1. Decken Sie den Dienst über Nachrichtenwarteschlangen ab, um Kaskadenfehler zu vermeiden. 2. Konfigurieren Sie persistente Warteschlangen, anhaltende Nachrichten, Freigabebest?tigung und manuelles ACK, um die Zuverl?ssigkeit zu gew?hrleisten. 3.. Verwenden Sie exponentielle Backoff -Wiederholung, TTL und Dead Letter -Warteschlangenverarbeitungsfehler; 4. Verwenden Sie Tools wie Supervisford, um Verbraucherprozesse zu schützen und Herzschlagmechanismen zu erm?glichen, um die Gesundheit der Service zu gew?hrleisten. und letztendlich die F?higkeit des Systems erkennen, kontinuierlich in Fehlern zu arbeiten.

Objektrelationszuordnung (ORM) Leistungsstimmen in PHP Objektrelationszuordnung (ORM) Leistungsstimmen in PHP Jul 29, 2025 am 05:00 AM

Vermeiden Sie N 1 Abfrageprobleme, reduzieren Sie die Anzahl der Datenbankabfragen, indem Sie die zugeh?rigen Daten im Voraus laden. 2. W?hlen Sie nur die erforderlichen Felder aus, um das Laden vollst?ndiger Entit?ten zu vermeiden, um Speicher und Bandbreite zu sparen. 3.. Verwenden Sie Cache-Strategien vernünftigerweise, z. 4. Optimieren Sie den Lebenszyklus der Entit?t und rufen Sie Clear () regelm??ig an, um den Speicher freizugeben, um den Speicherüberlauf zu verhindern. 5. Stellen Sie sicher, dass der Datenbankindex die generierten SQL -Anweisungen existiert und analysiert, um ineffiziente Abfragen zu vermeiden. 6. Deaktivieren Sie die automatische ?nderungsverfolgung in Szenarien, in denen ?nderungen nicht erforderlich sind, und verwenden Sie Arrays oder Leichtgewichtsmodi, um die Leistung zu verbessern. Die korrekte Verwendung von ORM erfordert die Kombination der SQL -überwachung, -gespeicherung, der Stapelverarbeitung und der geeigneten Optimierung, um die Anwendungsleistung zu gew?hrleisten und gleichzeitig die Entwicklungseffizienz beizubehalten.

Erstellen von produktionsbereiten Docker-Umgebungen für PHP Erstellen von produktionsbereiten Docker-Umgebungen für PHP Jul 27, 2025 am 04:32 AM

Die Verwendung des richtigen PHP-Basisbildes und die Konfiguration einer sicheren, leistungsoptimierten Docker-Umgebung ist der Schlüssel zum Erreichen der Produktion. 1. W?hlen Sie PHP: 8,3-FPM-Alpine als Grundbild, um die Angriffsfl?che zu reduzieren und die Leistung zu verbessern. 2. Deaktivieren Sie gef?hrliche Funktionen über benutzerdefinierte Php.ini, deaktivieren Sie die Fehleranzeige und aktivieren Sie Opcache und JIT, um die Sicherheit und Leistung zu verbessern. 3.. Verwenden Sie Nginx als Reverse Proxy, um den Zugriff auf sensible Dateien einzuschr?nken und die PHP-Anforderungen korrekt an PHP-FPM weiterzuleiten. 4. Verwenden Sie mehrstufige Optimierungsbilder, um Entwicklungsabh?ngigkeiten zu entfernen, und richten Sie nicht Root-Benutzer auf, um Container auszuführen. 5. optionaler Aufsichtsbeh?rde zum Verwalten mehrerer Prozesse wie Cron; 6. überprüfen

Python Run Shell -Befehlsbeispiel Python Run Shell -Befehlsbeispiel Jul 26, 2025 am 07:50 AM

Verwenden Sie Subprozess.run (), um die Befehle von Shell sicher auszuführen und die Ausgabe zu erfassen. Es wird empfohlen, Parameter in Listen zu übergeben, um Einspritzrisiken zu vermeiden. 2. Wenn die Shell -Eigenschaften erforderlich sind, k?nnen Sie Shell = True einstellen, aber achten Sie auf die Befehlsinjektion. 3. verwenden subprocess.popen, um die Echtzeit-Ausgangsverarbeitung zu realisieren. 4. Setzen Sie check = true, um Ausnahmen zu werfen, wenn der Befehl fehlschl?gt. 5. Sie k?nnen direkt Ketten anrufen, um die Ausgabe in einem einfachen Szenario zu erhalten. Sie sollten Subprozess vorrangig machen. Die obigen Methoden überschreiben die Kernverwendung der Ausführung von Shell -Befehlen in Python.

VSCODE Settings.json Standort VSCODE Settings.json Standort Aug 01, 2025 am 06:12 AM

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory

Ein tiefes Eintauchen in den Mechanismus für interne Müllsammlung von PHP Ein tiefes Eintauchen in den Mechanismus für interne Müllsammlung von PHP Jul 28, 2025 am 04:44 AM

Der Müllsammlung von PHP basiert auf der Referenzz?hlung, aber kreisf?rmige Referenzen müssen von einem periodischen kreisf?rmigen Müllsammler verarbeitet werden. 1. Die Referenzzahl gibt den Speicher sofort frei, wenn keine Referenz auf die Variable vorhanden ist. 2. Referenzreferenz bewirkt, dass Speicher nicht automatisch freigegeben werden kann, und es h?ngt davon ab, dass GC ihn erfasst und reinigt. 3.. GC wird ausgel?st, wenn das "m?gliche Wurzel" den Schwellenwert erreicht oder manuell gc_collect_cycles () aufruft; 4. Langzeit laufende PHP-Anwendungen sollten gc_status () überwachen und rechtzeitig gc_collect () aufrufen, um Speicherleckage zu vermeiden. 5. Zu den Best Practices geh?rt die Vermeidung von kreisf?rmigen Referenzen, die Verwendung von gc_disable () zur Optimierung der Leistungsschlüsselbereiche und Dereference -Objekte über die Clear () -Methode des ORM.

Die serverlose Revolution: Bereitstellung skalierbarer PHP -Anwendungen mit BREF Die serverlose Revolution: Bereitstellung skalierbarer PHP -Anwendungen mit BREF Jul 28, 2025 am 04:39 AM

Mit Bref erm?glicht es PHP-Entwicklern, skalierbare, kostengünstige Anwendungen zu erstellen, ohne Server zu verwalten. 1.Bref bringt Php nach AWSLambda, indem er eine optimierte PHP -Laufzeitschicht bereitstellt, Php8.3 und andere Versionen unterstützt und sich nahtlos in Frameworks wie Laravel und Symfony integriert. 2.. 3. Führen Sie den Befehl ServerlessDeploy aus, um die Bereitstellung abzuschlie?en, apiCateway automatisch zu konfigurieren und Zugriffs -URLs zu generieren. 4. Für Lambda -Beschr?nkungen bietet BREF L?sungen.

See all articles
  • <center id="oaqon"><optgroup id="oaqon"></optgroup></center>
    <bdo id="oaqon"></bdo>