ThinkPHP中url隐藏入口文件后接收alipay传值的方法_PHP
本文实例讲述了ThinkPHP中url隐藏入口文件后接收alipay传值的方法。分享给大家供大家参考。具体方法如下:
现在公司项目的需求变化多端,项目使用的是Thinkphp2.0,而conf.php中设置的URL_MODEL=2,为了兼容.htaccess和隐藏index.php,但在使用一些第三方接口时(例如支付宝或MSN开放平台),他们返回的参数往往含有一个?号,而URL_MODEL=2时,TP会自动将含有?的URL进行转换.
转换前:http://www.xxx.com/index.php/alipay/callback/?is_success/T/sign_type/MD5/notify_id/RqPnCoPT3K9/vwbh3I
转换后:http://www.xxx.com/alipay/callback/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;
这样,访问www.xxx.com或www.xxx.com/shipin/等任何非alipay控制器的页面时,网站依然是使用url_model = 2来隐藏index.php,使得URL友好.
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Certains amis ne sont pas habitués à la fonction de fenêtre flottante de la méthode de saisie Win11, et cela semble toujours étrange à utiliser, ils veulent donc désactiver cette fonction de fenêtre flottante. Je vais maintenant vous présenter la méthode de fonctionnement correcte pour fermer la fenêtre flottante. Système win11. Suivez-le. Win11 masque la fenêtre flottante de la méthode de saisie 1. Ouvrez la touche de paramètres de l'ordinateur, puis sélectionnez « Heure et langue ». Après avoir entré, cliquez sur « Entrée » 2. Recherchez « Changer de méthode de saisie » dans « Paramètres avancés du clavier », puis changer "Langue du bureau" Cliquez sur la coche devant "Barre" puis entrez "Options de la barre de langue" 3. Après ouverture, nous cliquons ici sur "Masquer" pour fermer la fenêtre flottante de langue.

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

Dans le système win11, si nous trouvons les icônes de la barre des tâches gênantes, nous pouvons choisir de les masquer dans l'interface de débordement du coin de la barre des tâches. Cependant, les icônes de la barre des tâches de l'application ouverte ci-dessous ne peuvent pas être masquées. Regardons la situation spécifique. Comment masquer l'icône de la barre des tâches Win11 : 1. Centrez l'icône 1. Tout d'abord, si nous voulons masquer l'icône dans la barre des tâches ci-dessous, nous pouvons cliquer avec le bouton droit pour la sélectionner et cliquer sur "Détacher de la barre des tâches" 2. Mais si nous ouvrons cette application et sont en train de l'utiliser et c'est impossible à cacher. 2. Icône dans le coin inférieur droit 1. Si vous souhaitez masquer l'icône de l'application dans le coin inférieur droit, ouvrez d'abord les paramètres système. 2. Cliquez ensuite sur « Personnalisation » dans la barre latérale gauche, comme indiqué sur l'image. 3. Cliquez ensuite pour accéder à la barre des tâches à droite

Comment masquer les amis WeChat sans les bloquer ni les supprimer ? De nombreux utilisateurs souhaitent masquer certains amis mais ne savent pas comment le faire. Laissez ce site présenter soigneusement aux utilisateurs comment masquer les amis WeChat sans les bloquer ni les supprimer. Méthodes pour masquer les amis WeChat sans bloquer ou supprimer Méthode 1 : 1. Ouvrez d'abord le logiciel WeChat, recherchez le carnet d'adresses sur la page WeChat et cliquez sur « Mon ». 2. Ensuite, nous entrons dans la page des paramètres. 3. Recherchez l'option « Confidentialité » et cliquez dessus. 4. Cliquez ensuite sur « Ne le laissez pas voir ». 5. Accédez à la page Ne pas la laisser voir et cliquez sur « + » pour vérifier les amis que vous souhaitez masquer.

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Il existe de nombreuses courtes œuvres vidéo fournies dans le logiciel d'application vidéo courte Douyin. Vous pouvez les regarder à votre guise, et elles sont toutes fournies gratuitement en permanence. Différents types de chaînes vidéo en direct sont ouverts et tout le contenu vidéo est original. . Offrez à chacun la façon la plus satisfaisante de regarder. Entrez votre compte pour vous connecter en ligne, et une variété de courtes vidéos passionnantes seront diffusées, qui sont recommandées avec précision en fonction de ce que tout le monde regarde chaque jour. Vous pouvez également entrer dans la salle de diffusion en direct pour interagir et discuter avec le présentateur, vous faisant ressentir. plus heureux. Les œuvres téléchargées par des particuliers peuvent également être masquées. C'est très simple à configurer en un seul clic. Vous pouvez voir partout où vous glissez vers le haut et vers le bas pour voir les commentaires en temps réel d'innombrables internautes. L'éditeur propose désormais des courtes vidéos détaillées en ligne sur Douyin. Les utilisateurs demandent des moyens de cacher leurs œuvres vidéo personnelles. Première courte vidéo ouverte de Douyin

La raison de l'erreur est NameResolutionError(self.host,self,e)frome, qui est un type d'exception dans la bibliothèque urllib3. La raison de cette erreur est que la résolution DNS a échoué, c'est-à-dire le nom d'hôte ou l'adresse IP qui était. La tentative de résolution n'a pas pu être trouvée. Cela peut être dû au fait que l'adresse URL saisie est incorrecte ou que le serveur DNS est temporairement indisponible. Comment résoudre cette erreur Il peut y avoir plusieurs façons de résoudre cette erreur : Vérifiez si l'adresse URL saisie est correcte et assurez-vous qu'elle est accessible Assurez-vous que le serveur DNS est disponible, vous pouvez essayer d'utiliser la commande "ping" dans la ligne de commande pour tester si le serveur DNS est disponible Essayez d'accéder au site Web en utilisant l'adresse IP au lieu du nom d'hôte si vous êtes derrière un proxy

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.
