Combine Image ?

Résolu
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005 - 6 avril 2005 à 13:22
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006 - 8 avril 2005 à 11:52
Chers tous,

voila le cas d'exemple :

J'ai 2 website http://www.1.com et http://www.2.com

Lorsque j'affiche une page depuis www.1.com, et que dans cette page j'appelle une image , et que cette image existe tout va bien. Je voudrais savoir si il est possible de faire en sorte que lorsque j'appelle une image et que cette image n'existe pas sur www.1.com/images/ , le code aille la chercher sur www.2.com/images/

je ne sais pas si je suis clair ..

mais si quelqu'un a compris, et a une solution, je suis bien sur preneur !

merci

17 réponses

le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
8 avril 2005 à 09:45
le ptit gob y se demande

Salut TIFISTEF,
Alors là je penses que tu vas avoir un prob.
Essaie ça:
$images_total=explode("",$images_total[$a],2);
if (file_exists($images[0])==false) // ou if(!file_exists($images[0]))
{ echo $images[0];
$imagesold=$images[0];
$imagesnew=str_replace($url1,$url2,$images[0]) ;
$article=str_replace($imagesold, $imagesnew,$article);
}
}
echo $article;

Voilà là cela devrait marcher normalement.
Tu nous tiens au courant.
Je suis content que nos réponses te plaisent
A+
3
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
6 avril 2005 à 13:33
salut,

tu peut peut etre utiliser la fonction file_exists()

comme ça :

if(file_exists('rep/img.jpg'))

{

// le fichier existe

}


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
6 avril 2005 à 14:12
le ptit gob y se demande



Salut ,

Ouais bonne idée tucsoufle,

puis apres tu fais:

else

if(file_exists("http://www.2.com/images/photo.jpg"))

echo "";



Voilà le tout si tu peux accéder à www.2.com/images.

Essaie cela devrait normalement marcher.



A+
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
6 avril 2005 à 15:13
Merci à vous 2 pour cette fonction.

Le probleme en fait pour etre entiermeent resolu doit s'appuyer en plus sur des Regex (tres gd flou pour moi ..)

Je m'explique le texte : $texte, comprend en son sein plusique balises , puis , etc, etc ...

Le but est donc d'extraire le ../images/photovacances, etc ... pour le rentrer dans la fonction file_exist ... il faut donc passer par des Regex, et là c le neant ... si vous avez des idées ?

Thanks
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
6 avril 2005 à 15:19
Pardon... le but est d'extraite bien sur le ..images/photovacances.jpg pour le faire rentrer dans la fonction file_exist. Mais comment le faire via les Regex ? C a d comment retirer ce qui se trouve entre ou entre
0
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
6 avril 2005 à 15:37
le ptit gob y se demande

Salut,
tu utilises la fonction explode()

$images=explode("",$images[1],2);
file_exist($images[0])

voilà cela devrait marcher mais cela extraireras seulement dans la première balise IMG

Il faut faire une boucle pour extraire l'ensemble des noms de toutes les images

A+
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
6 avril 2005 à 16:17
Impeccable.

Je vais essayer ca

Thanks,
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
6 avril 2005 à 16:47
Admettons qu'on traite le code html qui contient ces balises ",$texte[1],2 );

if (file_exists($texte[0]))

{
// ne rien changer ?
}
else {

// Il faut remplacer la chaine "../images/" par http://site2.com/images

}

}

Des idées ?
0
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
6 avril 2005 à 17:04
le ptit gob y se demande

Salut, TIFISTEF encore moi
Heu y a deux erreurs dans ton code, il faut remplacer $texte[1] par $images[1] et $texte[0] par images[0] .

sinon pour remplacer tu fais:

$texte=str_replace("../images","http://site2.com/images",$texte);

Voilà cela devrait marcher

A+
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
6 avril 2005 à 17:23
Salut, utilise une fonction.



<?php

function image($url) {

if(file_exists($url)) { // Sur le serveur

return 'http://www.1.com' . $url; // Si je suis sur Serveur 1

} else {

return 'http://www.2.com' . $url;

}

}



echo ', image('photo2.jpg'), '" alt="Image photo2" />';



?>
<hr size="2" width="100%">
Si ma reponse te convient, merci de l'accepter !
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
8 avril 2005 à 06:08
Thanks pour vos réponses,
On tient le bon bout, que pensez vous du reste ? :

Donc tout le code HTML (avc les balises ",$images[$a],2);



if (file_exists($images[0])==false)
{ echo $images[0];
$imagesold=$images[0];
$url1='../images';
$url2='http://www.sites2.com/images';
$imagesnew=str_replace($url1,$url2,$images[0]) ;
$article=str_replace($imagesold, $imagesnew,$article);
}



}



echo $article;
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
8 avril 2005 à 10:38
Voila pour l'exemple, je mets une valeur à $article.

Il me donne toujours cette erreur :

Warning: Wrong parameter count for explode() in your script on line 13

Warning: The length of the needle must not be 0 in your script on line 19

Warning: Wrong parameter count for explode() in your script on line 13

Une idée ? Merci pour tes réponses éclairées !!!

<?
$article= " blablabla blbalbla ";


$images_total=explode("",$images_total[$a],2);
if (!file_exists($images[0]))


{
$imagesold=$images[0];
$imagesnew=str_replace($url1,$url2,$images[0]) ;
$article=str_replace($imagesold, $imagesnew,$article);
}
}


echo $article;
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 avril 2005 à 11:00
Hello,



chez moi ca fonctionne tres bien, ton script.



Tu as quelle version de php ? Parce que dans le explode(), l'option limit (ton 2) ne fonctionne qu'a partir de php 4.0.1.

Ca vient peut-etre de la.

Du coup $images est vide, d'ou l'erreur sur ton str_replace.
0
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
8 avril 2005 à 11:07
le ptit gob y se demande
Salut malalam,

Ben oui chez moi aussi ça marche bien.
Malalam a raison tu dois utiliser une version trop ancienne de php.

Mais sinon tu peux enlever le ",2" dans la ligne:
$images=explode(">",$images_total[$a],2);
ça marche sans.

Voilà content de t'aider TIFISTEF
0
TIFISTEF Messages postés 8 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 8 avril 2005
8 avril 2005 à 11:20
PHP Version 4.3.10-2



Curieux ...
mais en enlevant le ,2 ... ca marche ss pb .. curieux non ?

En tout cas un gros thanks à toi le petit glob, et aux autres.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 avril 2005 à 11:48
Oui curieux en effet. Enfin non, pas curieux que ca marche lol...

Mais curieux pour la version de php par contre.

De toutes facons ce parametre ne te sert a rien a priori, dans ce cas de figure-ci.
0
le ptit gob Messages postés 53 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 3 juillet 2006
8 avril 2005 à 11:52
le ptit gob y se demande

Merci TIFISTEF ça fait plaisir.

Au fait moi j'ai la version 4.3.3

Allez bonne continuation à tous.

Et pis en fait tifistef moi c'est ptit GOB pas gLob

Mais c'est pas grave je m'en fous un peu.

Allez salut et a+
0
Rejoignez-nous