Comment puis-je obtenir l'URL complète d'une image en Cakephp?
Disons que j'ai un "image.jpg" stockés dans le dossier des actifs, et le chemin d'accès est "www.example.com/public" et je ne veux que le chemin de la chaîne de l'image. Comment puis-je l'obtenir? Je ne veux PAS les balises html uniquement le chemin d'accès de la chaîne.
Tu veux dire que le fichier image.jpg est stocké dans le chemin que vous avez donné?
Désolé, que voulez-vous dire?
veuillez préciser votre question. Ou faire comprendre
qu'entendez-vous par la
Si j'ai une image dans le dossier assets, comment puis-je obtenir l'URL de cette image?
Désolé, que voulez-vous dire?
veuillez préciser votre question. Ou faire comprendre
qu'entendez-vous par la
string path to the image
Si j'ai une image dans le dossier assets, comment puis-je obtenir l'URL de cette image?
OriginalL'auteur Johnathan Au | 2013-04-13
Vous devez vous connecter pour publier un commentaire.
Après avoir essayé les différents CakePHP constantes globales (RACINE, WEBROOT_DIR, WWW_ROOT, CSS, etc.) avec l'absence de résultats, la solution générale semble être trouvé dans le $this->webroot propriété qui retourne le chemin d'accès de l'application de webroot. Ainsi, pour les différents cas ci-dessus nous pouvons avoir dans nos mises en page, des opinions ou des éléments:
Une simple balise image:
Une image de fond dans une cellule de tableau à l'ancienne:
Un input de type="image":
Remarque: Cette solution n'est pas de plugin à la sécurité.
OriginalL'auteur Ravindra Shekhawat
Dans CakePHP 3 (à partir de la version 3.2.4), vous pouvez utiliser l'url/image helper,mais le chemin n'est pas nécessaire:
Ou d'autres actifs:
OriginalL'auteur Giorgio Borgonovo
Regarder à l'intérieur du code source de
HtmlHelper::image()
de voir comment cet assistant crée le droit d'URL; Légèrement modifié, c'est la façon dont il est atteint:Le code source pour Helper::assetUrl() peut être trouvé ici: https://github.com/cakephp/cakephp/blob/2.3.2/lib/Cake/View/Helper.php#L305
OriginalL'auteur thaJeztah
cela fonctionne même si vous êtes en utilisant des thèmes
Fonctionne sauf que j'ai eu à utiliser :
'pathPrefix' => Configure::read('App.imageBaseUrl')
parce que le imageBaseUrl est défini dans core.phpOriginalL'auteur Thiagocfn
Éventuellement transmettre
true
d'un exemple pour l'URL de base complète. (mysite.com/cake/app/img/image.jpg
)quelle est la version de CakePHP utilisez-vous?
la plus récente.
C'est un CakePHP fonction d'assistance qui est seulement disponible dans la Vue et de ne pas le contrôleur. C'est la raison la plus probable que vous obtenez cette erreur.
Juste pour ajouter à @Ross réponse, le
WWW_ROOT
est un chemin d'accès local sur le serveur.$this->Html->url(...)
va générer une URL qui est spécifique pour le nom de domaine que le site est en train d'être servi. Oh, et il est habituellement préférable de mettre en pratique lors de la création de chemins d'accès pour utiliser leDS
constante au lieu d'utiliser l'arrière/l'avant-barres obliques parce qu'il est dépendant de la plate-forme. À l'aide deDS
signifie que vous serez en mesure de déployer dans n'importe quel environnement.OriginalL'auteur Ross
Vous pouvez utiliser:
$this->racine de votre site sera de vous fournir le chemin d'accès actuel de votre application.
OriginalL'auteur Pratik
vérifier cette constante fournie par le cakephp 2.0+
FULL_BASE_URL
cliquez ici de connaître tous les
note CakePHP : Obsolète depuis la version 2.4: Cette constante est obsolète, vous devez utiliser un Routeur::fullbaseUrl() à la place.
Ok, merci Florito partage de ce merveilleux info.
OriginalL'auteur MaNKuR
Dans CakePHP, normalement, les Images seront stockées dans webroot/img dossier.
Ce lien sera utile pour vous.
Paramètres:
Espérons que vous trouverez ce utile.
OriginalL'auteur Gunaseelan
Dans CakePHP la version 3, vous pouvez utiliser l'url helper:
OriginalL'auteur Lars Ebert
Je voudrais utiliser
OriginalL'auteur Radu
De CakePHP 3.5, je pense que la meilleure option est la suivante :
Si votre à l'intérieur d'un cadre plugin,
$this->webroot
ne rentre pas.Espère que cela aide quelqu'un.
OriginalL'auteur sk001
Je pense que vous avez besoin pour composer le chemin vous-même. Si vous connaissez le nom du fichier et le répertoire où il se trouve, qu'est-ce que vous empêche de faire ce qui suit:
OriginalL'auteur Sam Delaney