Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/01/2012, 17h00   #1
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : avril 2009
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : avril 2009
Messages : 84
Points : 38
Points : 38
Par défaut [Codeigniter] src faussé dans ma vue

Bonsoir

J'ai un petit soucis:

Dans ma vue j'ai ceci

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
<?php 
				foreach($results as $item): 
					$image_properties = array(
					'alt' => $item->path,
					'src' => $item->path ,
					'class' => 'post_images',
					'width' => 200,
					'height' => 200,
					'title' => $item->path
				);
				echo "<li class=\"list\">" .img($image_properties) . "</li>";
				endforeach; 
			?>
Mes objets sont sur mon bureau donc on a un truc comme ça $item->path = C:/Users/moi/Desktop/monDossier/monELem.txt

j'ai bien cela pour 'alt' par exemple mais pour 'src' jai un truc de ce style

http: //localhost/public_html/C:/Users/moi/Desktop/monDossier/monELem.txt

mais pourquoi j'ai ce "http: //localhost/public_html/" qui se met devant ????!!!! Du coup je ne peux pas récupérer les éléments

ps : non je ne peux pas changer l'endroit de mes éléments ma bd est déjà remplie

Merci pour votre aide
kululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 12h05   #2
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : avril 2009
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : avril 2009
Messages : 84
Points : 38
Points : 38
Si ce n'est pas clair ou si je dois préciser certains points dites le moi, j'ai toujours pas trouvé la solution
kululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 19h23   #3
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 34
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mars 2007
Messages : 34
Points : 27
Points : 27
Salut,

il faudrait savoir comment tu récupères le contenu de la variable $results, une requête SQL je suppose.

tu peux déjà essayer de faire un echo $item->path; pour voir ce que ca donne, et peut être poster le contenu du controller qui fait appel à cette vue.

[EDIT] : pour info, c'est toi qui a créé fonction img($image_properties) ou existe t-elle déjà dans codeigniter?

Bon courage ^^
Geekix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2012, 23h01   #4
Membre du Club
 
Homme
Développeur informatique
Inscription : décembre 2009
Messages : 40
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2009
Messages : 40
Points : 66
Points : 66
Bonsoir,

visiblement, d'après la doc de img(), il faut mettre le second paramètre à False pour ne pas rajouter automatiquement l'url de votre site.

Dans ton cas ce serait donc
Code :
echo "<li class=\"list\">" .img($image_properties, FALSE) . "</li>";
A essayer... je ne garantis pas le résultat.
Pourcentage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 19h34   #5
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : avril 2009
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : avril 2009
Messages : 84
Points : 38
Points : 38
Merci pour vos réponses, je pensais que ce topic allait mourir

@Geekix : Mon code est assez long et un peu bordélique, mais en gros ce qu'il y a à savoir c'est que "$item->path" renvoie bien un truc de ce type "C:/Users/moi/Desktop/monDossier/monfichier" car la propriété 'alt' m'affiche cela (après avoir regarder les détails dans mon browser) mais que la propriété 'src' un truc comme cela : ' http: //localhost/public_html/C:/Users/moi/Desktop/monDossier/monfichier '

$image_properties c'est un truc de codeigniter, j'utilise la 'version tableau' que Pourcentage donne comme lien dans son poste juste avant.

@Pourcentage : on tient le bon bout je crois mais ça marche pas, je crois que c'est pas possible. En faite le booléen c'est juste pour afficher l'index ou pas si j'ai bien compris.

En gros si c'est false j'ai
src="http://localhost/public_html/C:/Users/moi/Deskto/monDossier/monfichier"

Si c'est true j'ai
src="http://localhost/public_html/index.php/C:/Users/moi/Deskto/monDossier/monfichier"

Je me demande du coup si c'est possible de résoudre mon problème
kululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 20h01   #6
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 34
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mars 2007
Messages : 34
Points : 27
Points : 27
En relisant la doc de la fonction img(), je me suis rendu compte de ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
$image_properties = array(
           'src' => 'images/picture.jpg',
           'alt' => 'Me, demonstrating how to eat 4 slices of pizza at one time',
           'class' => 'post_images',
           'width' => '200',
           'height' => '200',
           'title' => 'That was quite a night',
           'rel' => 'lightbox',
 );

 img($image_properties);
 // <img src="http://site.com/index.php/images/picture.jpg" alt="Me, demonstrating how to eat 4 slices of pizza at one time" class="post_images" width="200" height="200" title="That was quite a night" rel="lightbox" />
Note que la fonction ajoute l'url de base dans le src. La valeur de l'attribut src correspond au chemin de l'image dans l'url et non pas le chemin sur ton disque dur.

Je pense que le plus simple est de stocker le chemin de l'image (ex : C:/Users/pouet/test.jpg) dans ton application (variable d'environnement par exemple), et d'y faire appel quand tu en as besoin.

En espérant t'aider =)
Geekix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 20h31   #7
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : avril 2009
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : avril 2009
Messages : 84
Points : 38
Points : 38
Citation:
Note que la fonction ajoute l'url de base dans le src.
Oui c'est mal foutu codeigniter

Du coup même en le mettant en dur c'est à dire comme ça :

Code :
'src' => ' C:/Users/pouet/test.jpg' ,
Codeigniter me le change comme ça
Code :
"http://localhost/public_html/C:/Users/pouet/test.jpg"
kululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 20h36   #8
Membre du Club
 
Homme
Développeur informatique
Inscription : décembre 2009
Messages : 40
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2009
Messages : 40
Points : 66
Points : 66
J'ai regardé le code de la fonction img() et effectivement CodeIgniter recherche la chaîne '://' dans l'url de l'image et l'ajoute si elle n'y est pas. Ce qui est un comportement normal puisque sur le web on utilise pas C:/

Je pense qu'il va falloir t'adapter et héberger tes images dans localhost...
Pourcentage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 20h40   #9
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 34
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mars 2007
Messages : 34
Points : 27
Points : 27
je pense que la fonction img() n'est peut être pas la meilleure solution pour toi. Comme le dis Pourcentage, tu vas sans doute être obligé d'héberger tes images dans le répertoire local de ton serveur web.
Geekix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 21h46   #10
Nouveau Membre du Club
 
Homme
Étudiant
Inscription : avril 2009
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : avril 2009
Messages : 84
Points : 38
Points : 38
C'est ce que je me suis dit depuis le début mais ma bd est en place, tan pis drop table

Merci de votre aide si même après ça cela ne marche pas je reviendrais
kululu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web