Bonjour à tous(te),
Aillant regarder le tutoriel "Developper un site web" en plusieurs parties, j'aimerais avoir un petit coup de pouce.
En effet lors de la création du fichier htaccess ... on le fais en local !
Mais lorsque je l'utilise sur un serveur hébergeur le drame apparait ...
Rien ne fonctionne aucun lien ("NADA") , mais j'ai trouver un supterfuge ("je sais pas si c'est bien ortographié") :
Pour le tutoriel on fais :
define('WEBROOT', dirname(__FILE__));
define('ROOT', dirname(WEBROOT));
define('DS', DIRECTORY_SEPARATOR);
define('CORE', ROOT.DS.'core');
define('BASE_URL', dirname(dirname($_SERVER['SCRIPT_NAME'])));
Donc pour mes liens ( en local ) je fais :
action="<?php echo BASE_URL.DS.'XXX/XXX/editc/';?>"
MAIS pour le serveur, je ne peux pas utiliser BASE_URL , je fais donc :
action="<?php echo DS.'backend/admin/editc/';?>"
Et la ca marche MAIS quand je veux charger une image il faut que ce soit dans mon dossier webroot et non dans un sous dossier car sinon mon dispatcher prend la racine du fichier pour un controller ( -_- ) ... soucis je risque d'avoir plus de 1000 images ...
Si quelqu'un a une idée je le remercie fortement
;)
Sur ton site en ligne, essayes d'utiliser
define('DNS', 'http://' . $_SERVER['SERVER_NAME']);
au lieu de
define('BASE_URL', dirname(dirname($_SERVER['SCRIPT_NAME'])));
en remplaçant 'BASE_URL' par 'DNS'.
Il me semble avoir eu le même soucis que toi, et l'avoir résolu de cette façon.
Pour les lien ca marche nickel mais pour mes images :/ c'est autre chose
Warning: require(/home/www/XXXXXXXXXXXXX/web/controller/FilesController.php) [function.require]: failed to open stream: No such file or directory in /home/www/XXXXXXXXXXXXXXX/web/core/dispatcher.php on line 31
Fatal error: require() [function.require]: Failed opening required '/home/www/XXXXXXXXXXXXXXXXX/web/controller/FilesController.php' (include_path='.:/opt/php/lib/php') in /home/www/XXXXXXXXXXXXXXXXXX/web/core/dispatcher.php on line 31
et dans l'url j'ai :
http://www.XXXXXXXXXXX.fr/files/DUPOND-Jean-jacques-2015-03-11/Pictures/visage-homme.jpg
Pour les images in te faut utiliser le chemin en absolue depuis la racine du serveur. Il me semble qu'il s'agit de la constante ROOT.
Tu as vérifié les permissions sur les dossiers contenant tes images et tes images elles-mêmes ?
Permission 777 et les images sont bien présente
Je reprend les mêmes dossier qu'en local :/
Ce que je trouve bizarre c'est vraiment les liens pour recupérer les images ... même avec "../../" rien ne marche :(
Il te faut normalement renseigner le chemin en absolu vers ton image. Regarde du côté de $_SERVER tu devrais y trouver ton bonheur (quelque chose qui commence par /var/www)
Voici un exemple de ce que j'ai https://www.infomaniak.fr/fr/support/faq/100
Mais je pense que ça viens du fais que je récupère dans mon url le controller la fonction et les paramètres
donc mon dispatcher ne sait pas que c'est le lien d'une image :/
En chemin absolu j'ai
[DOCUMENT_ROOT] => /home/www/b0dfda55decfc9d26802f4be9XXXXX/web
Eh beh c'est bon il te suffit de concatener ton chemin vers ton image à cette variable, que tu devrais d'ailleurs définir dans une constante.
C'est ce que j'ai fais :( voici le lien vers l'image
<img src="/home/www/b0dfda55decfc9d26802f4be9XXXXX/web/webroot/files/DUPOND-Jean-jacques-2015-03-11/Pictures/visage-homme.jpg" alt="..." class="img-circle" style="width: 80px; height: 80px;">
J'ai trouver le problème ... je vais pas te le dire par honte xDD
Bon je te le dis quand même ...
Le nom est DUPOND et le lien faut que ce soit dupond ... seulement ca !
Désolé de t'avoir fais perdre du temps :/
Et merci pour le coup de main
Un problème de casse? Classique t'inquiètes ;)
On se fait tous avoir et c'est généralement ce genre de con--rie qu'on perd le plus de temps. C'est en faisant qu'on apprend comme on dit !