Heim php教程 php手册 ThinkPHP中url隐藏入口文件后接收alipay传值的方法

ThinkPHP中url隐藏入口文件后接收alipay传值的方法

Jun 06, 2016 pm 08:16 PM
thinkphp url 接收 隐藏

这篇文章主要介绍了ThinkPHP中url隐藏入口文件后接收alipay传值的方法,可实现针对第三方接口的URL地址中的?进行转换处理,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP中url隐藏入口文件后接收alipay传值的方法。分享给大家供大家参考。具体方法如下:

现在公司项目的需求变化多端,项目使用的是Thinkphp2.0,而conf.php中设置的URL_MODEL=2,为了兼容.htaccess和隐藏index.php,但在使用一些第三方接口时(例如支付宝或MSN开放平台),他们返回的参数往往含有一个?号,而URL_MODEL=2时,TP会自动将含有?的URL进行转换.

转换前:?is_success/T/sign_type/MD5/notify_id/RqPnCoPT3K9/vwbh3I

转换后:

转换后的网址将无法访问,而转换前的网址是可以访问的,这时需要临时针对alipay这个控制器,URL_MODEL=1,但在该控制器里C('URL_MODEL',1)是没有用的,因为TP会在入口文件App::run()时直接404了.

想了很多方法,先是修改它的配置文件Conf.php,结果发现会生成缓存文件~app.php,所以必须根据情况删除这个缓存文件,于是我对index.php入口文件进行了修改(事实上,放在任何App::run()之前都可以,你可以自行封装).

PHP实例代码:

复制代码 代码如下:

// 定义ThinkPHP框架路径 
define('THINK_PATH', '不告诉你我的TP文件夹名/'); 
//如果网址中存在这样的形式就删除缓存配置文件,,并创建一个标识 
if(strstr($_SERVER['REQUEST_URI'],'alipay/callback/')||strstr($_SERVER['REQUEST_URI'],'order.return_pay')){ 
    unlink('./home/Runtime/~app.php'); 
    //创建一个缓存文件做为标识 
    $fn= fopen('./home/Runtime/re_url_model.php','wb'); 
    fclose($fn); 
}elseif(file_exists('./home/Runtime/re_url_model.php')){ 
    unlink('./home/Runtime/re_url_model.php'); 
    unlink('./home/Runtime/~app.php'); 

 
//定义项目名称和路径 
define('APP_NAME', 'home'); 
 
define('APP_PATH', 'home'); 
 
// 加载框架入口文件 
 
require(THINK_PATH."ThinkPHP.php"); 
 
//实例化一个网站应用实例 
App::run(); 
?>


项目的配置文件Conf.php根据你自己的情况做一个判断即可.

PHP实例源码:

复制代码 代码如下:

//兼容支付宝快捷登录的?请求 
if(strstr($_SERVER['REQUEST_URI'],'alipay/callback/')||strstr($_SERVER['REQUEST_URI'],'order.return_pay')){ 
    $my_array['URL_MODEL'] = 1; 

return $my_array;


这样,访问或等任何非alipay控制器的页面时,网站依然是使用url_model = 2来隐藏index.php,使得URL友好.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

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

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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)

Versteckte Einstellungen für das schwebende Fenster der Win11-Eingabemethode Versteckte Einstellungen für das schwebende Fenster der Win11-Eingabemethode Dec 30, 2023 pm 11:24 PM

Einige Freunde sind nicht an die Floating-Window-Funktion der Win11-Eingabemethode gewöhnt und es fühlt sich immer seltsam an, diese Floating-Window-Funktion zu deaktivieren. Jetzt werde ich Ihnen die korrekte Bedienungsmethode zum Schließen des Floating-Fensters vorstellen Win11-System. Folgen Sie uns. Win11 verbirgt das schwebende Fenster für die Eingabemethode. 1. Öffnen Sie die Einstellungstaste des Computers und wählen Sie dann „Zeit und Sprache“. Klicken Sie nach der Eingabe auf „Enter“. 2. Suchen Sie unter „Erweiterte Tastatureinstellungen“ nach „Eingabemethode wechseln“ und dann „Desktop-Sprache“ ändern Klicken Sie auf das Häkchen vor „Leiste“ und geben Sie dann „Sprachleistenoptionen“ ein. 3. Nach dem Öffnen klicken wir hier auf „Ausblenden“, um das schwebende Sprachfenster zu schließen.

Warum NameResolutionError(self.host, self, e) von e und wie man es löst Warum NameResolutionError(self.host, self, e) von e und wie man es löst Mar 01, 2024 pm 01:20 PM

Der Grund für den Fehler ist NameResolutionError(self.host,self,e)frome, ein Ausnahmetyp in der urllib3-Bibliothek. Der Grund für diesen Fehler ist, dass die DNS-Auflösung fehlgeschlagen ist, d. h. der Hostname oder die IP-Adresse Der Lösungsversuch konnte nicht gefunden werden. Dies kann daran liegen, dass die eingegebene URL-Adresse falsch ist oder der DNS-Server vorübergehend nicht verfügbar ist. So beheben Sie diesen Fehler Es gibt möglicherweise mehrere Möglichkeiten, diesen Fehler zu beheben: Überprüfen Sie, ob die eingegebene URL-Adresse korrekt ist und stellen Sie sicher, dass sie zugänglich ist. Stellen Sie sicher, dass der DNS-Server verfügbar ist. Sie können es mit dem Befehl „ping“ in der Befehlszeile versuchen Um zu testen, ob der DNS-Server verfügbar ist, versuchen Sie, über die IP-Adresse statt über den Hostnamen auf die Website zuzugreifen, wenn Sie sich hinter einem Proxy befinden

So führen Sie das Thinkphp-Projekt aus So führen Sie das Thinkphp-Projekt aus Apr 09, 2024 pm 05:33 PM

Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

Wie verstecke ich die Taskleistensymbole von Windows 11? Wie verstecke ich die Taskleistensymbole von Windows 11? Jan 06, 2024 am 08:38 AM

Wenn wir im Win11-System die Symbole in der Taskleiste als störend empfinden, können wir sie in der Taskleisten-Ecküberlaufoberfläche ausblenden. Die Symbole in der Taskleiste der unten geöffneten Anwendung können jedoch nicht ausgeblendet werden. Werfen wir einen Blick auf die konkrete Situation. So blenden Sie das Win11-Taskleistensymbol aus: 1. Zentrieren Sie das Symbol. 1. Wenn wir das Symbol in der Taskleiste unten ausblenden möchten, können wir zunächst mit der rechten Maustaste klicken, um es auszuwählen, und auf „Von Taskleiste entfernen“ klicken. 2. Wenn wir jedoch öffnen Diese Anwendung und sind dabei, sie zu verwenden, und das ist unmöglich zu verbergen. 2. Symbol in der unteren rechten Ecke 1. Wenn Sie das Anwendungssymbol in der unteren rechten Ecke ausblenden möchten, öffnen Sie zunächst die Systemeinstellungen. 2. Klicken Sie dann in der linken Seitenleiste auf „Personalisierung“, wie im Bild gezeigt. 3. Klicken Sie dann auf , um die Taskleiste auf der rechten Seite aufzurufen

Es gibt mehrere Versionen von thinkphp Es gibt mehrere Versionen von thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen gehören 3.2, 5.0, 5.1 und 6.0, während Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

Wie kann man WeChat-Freunde verstecken, ohne sie zu blockieren oder zu löschen? So verbergen Sie WeChat-Freunde, ohne sie zu blockieren oder zu löschen Wie kann man WeChat-Freunde verstecken, ohne sie zu blockieren oder zu löschen? So verbergen Sie WeChat-Freunde, ohne sie zu blockieren oder zu löschen Mar 13, 2024 pm 07:19 PM

Wie kann man WeChat-Freunde verstecken, ohne sie zu blockieren oder zu löschen? Viele Benutzer möchten einige Freunde ausblenden, wissen aber nicht, wie das geht. Auf dieser Website wird den Benutzern sorgfältig erklärt, wie sie WeChat-Freunde ausblenden können, ohne sie zu blockieren oder zu löschen. Methoden zum Ausblenden von WeChat-Freunden ohne Blockieren oder Löschen Methode 1: 1. Öffnen Sie zunächst die WeChat-Software, suchen Sie das Adressbuch auf der WeChat-Seite und klicken Sie auf „Mein“. 2. Dann betreten wir die Einstellungsseite. 3. Suchen Sie die Option „Datenschutz“ und klicken Sie darauf. 4. Klicken Sie dann auf „Nicht sehen lassen“. 5. Gehen Sie zur Seite „Do Not Let Her View“ und klicken Sie auf „+“, um die Freunde zu markieren, die Sie ausblenden möchten.

So verbergen Sie Werke in Douyin-Kurzvideos. So verbergen Sie persönliche Videowerke So verbergen Sie Werke in Douyin-Kurzvideos. So verbergen Sie persönliche Videowerke Mar 12, 2024 pm 12:49 PM

In der Douyin-Kurzvideo-App-Software stehen viele kurze Videoarbeiten zur Verfügung. Sie können sie nach Belieben ansehen und sie sind alle dauerhaft kostenlos verfügbar Bieten Sie jedem die zufriedenstellendste Art zuzusehen. Geben Sie Ihr Konto ein, um sich online anzumelden, und es werden verschiedene aufregende Kurzvideos gesendet, die genau auf dem basieren, was jeder jeden Tag sieht. Sie können auch den Live-Übertragungsraum betreten, um mit dem Moderator zu interagieren und zu chatten, damit Sie sich wohl fühlen mehr glücklich. Die von Einzelpersonen hochgeladenen Werke können auch ganz einfach mit einem Klick eingerichtet werden. Wischen Sie nach oben und unten, um die Echtzeit-Kommentare unzähliger Internetnutzer anzuzeigen Jetzt hat der Herausgeber detaillierte Online-Douyin-Kurzvideos veröffentlicht. Benutzer drängen auf Möglichkeiten, persönliche Videoarbeiten zu verbergen. Öffnen Sie zunächst das kurze Douyin-Video

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

See all articles