Maison > Questions et réponses > le corps du texte
P粉9767371012023-08-22 16:44:45
Si je vous comprends bien, vous avez deux dossiers, l'un est l'endroit où se trouve le script php que vous souhaitez include
dans l'autre dossier ?
Si tel est le cas, il vous suffit de suivre correctement le chemin. Supposons que la structure de vos dossiers est la suivante :
root includes php_scripts script.php blog content index.php
Si c'est la structure de dossiers que vous avez proposée et que vous souhaitez inclure le fichier "Script.php" dans le dossier "index.php", vous devez l'inclure comme ceci :
include("../../../includes/php_scripts/script.php");
La façon dont je le fais est visuelle. Je place le pointeur de ma souris sur index.php (pour voir la structure des fichiers) et à chaque fois que je remonte dans un dossier, je tape un autre "../". Ensuite, vous devez vous assurer que vous montez dans la structure de dossiers au-dessus du dossier dans lequel vous souhaitez commencer à accéder. Après cela, c'est la hiérarchie normale des dossiers.
P粉6148403632023-08-22 09:38:21
Vous pouvez accéder au $_SERVER['DOCUMENT_ROOT']
répertoire racine depuis chaque site en utilisant . Juste pour tester, vous pouvez imprimer le chemin pour vous assurer qu'il fonctionne, si vous le faites correctement. Vous ne voulez certainement pas afficher le chemin du serveur local, par exemple contient et require .
Site 1
echo $_SERVER['DOCUMENT_ROOT']; //应该是 '/main_web_folder/';
Les fichiers inclus sous le site 1 doivent se trouver à :
echo $_SERVER['DOCUMENT_ROOT'].'/includes/'; // 应该是 '/main_web_folder/includes/';
Site 2
echo $_SERVER['DOCUMENT_ROOT']; //应该是 '/main_web_folder/blog/';
Code actuel pour accéder aux fichiers d'inclusion du Site 1 à partir du Site 2 :
include($_SERVER['DOCUMENT_ROOT'].'/../includes/file_from_site_1.php');
Si vous essayez d'accéder à un fichier en excluant les document root
和root
slashes, seul le chemin relatif au fichier sur lequel la requête est effectuée sera utilisé (non infaillible ni non spécifique à la plateforme) :
include('../includes/file_from_site_1.php');
Le chemin inclus n'a sa place dans aucun code sur le front-end du site (en ligne) et doit être utilisé en toute sécurité dans Environnements de production uniquement.
De plus, pour les URL du site lui-même, vous pouvez les rendre relatives au nom de domaine. Les navigateurs remplissent automatiquement le reste car ils savent quelle page ils consultent. Alors n’utilisez pas :
<a href='http://www.__domain__name__here__.com/contact/'>联系</a>
Utilisez plutôt :
<a href='/contact/'>联系</a>
Pour un bon référencement, vous devez vous assurer que l’URL de votre blog n’existe pas sur un autre domaine, sinon il pourrait être marqué comme site en double. Dans ce cas, vous souhaiterez peut-être également ajouter une ligne au fichier pour le robots.txt
Site 1 uniquement :
User-agent: * Disallow: /blog/
Recherchez votre adresse IP et incluez l'extrait de code suivant :
function is_dev(){ //使用来自Google的外部IP。 //如果您在本地托管,它是127.0.01,除非您更改了它。 $ip_address='xxx.xxx.xxx.xxx'; if ($_SERVER['REMOTE_ADDR']==$ip_address){ return true; } else { return false; } } if(is_dev()){ echo $_SERVER['DOCUMENT_ROOT']; }
N'oubliez pas que si votre FAI modifie votre IP, par exemple si vous avez une IP dynamique DCHP, vous devrez modifier l'IP dans ce fichier pour voir les résultats. Je recommande de mettre ce fichier dans un fichier d'inclusion, puis de l'exiger sur la page de débogage.
Si vous avez accès à des méthodes modernes comme le Journal de la console de votre navigateur, vous pouvez utiliser le code suivant et l'afficher dans l'interface de débogage de votre navigateur :
if(is_dev()){ echo "<script>".PHP_EOL; echo "console.log('".$_SERVER['DOCUMENT_ROOT']."');".PHP_EOL; echo "</script>".PHP_EOL; }