Pb de chemin pour tout mes includes..... - PHP - Programmation
Marsh Posté le 10-06-2002 à 11:47:37
si tu mets juste include("/banniere/bannieres.php" ) ça marche pas ?
Marsh Posté le 10-06-2002 à 11:54:20
ben sa marhc epour les page en racine mais pas pour les page dans des dossiers....
Marsh Posté le 10-06-2002 à 12:02:32
t'as bien mis le / devant ?
Marsh Posté le 10-06-2002 à 12:07:24
et il met quoi comme erreur?
Marsh Posté le 10-06-2002 à 12:15:51
http://www.informanews.net/ban
ou encore dans un folder:
http://www.informanews.net/annu/ban
Marsh Posté le 10-06-2002 à 12:23:08
"Parse error: parse error in /home/sites/site5/web/annu/ban.php on line 261"
bien mais montre la source de la ligne parce que je peux pas t'aider là
et aussi ce que tu peux essayer c'est include("/home/sites/site5/web/annu/banniere/bannieres.php" );
(avec bien le / au début)
Marsh Posté le 10-06-2002 à 12:29:12
g fais une include du style:
<?php
$pool = "3";
include("/home/sites/site5/web/pls-bannieres/bannieres.php" );
?>
Cela marche pour un fichier en racine, mais également pour un fichier en dossier, mi à par qu'il y as une erreur au dessus de la banniere...
la source:
<?
// Test pour l'insertion et la sélection de données dans une base de donnée
$toto = chdir($chemin);
$toto2 = chdir(".." );
$fichier = @file("pls-admin/data.php" );
if($fichier)
{
include("pls-admin/data.php" );
}
else
{
$fichier = @file("pls-admin/data.php3" );
if($fichier)
{
include("pls-admin/data.php3" );
}
else
{
$fichier = @file("pls-admin/data.php4" );
if($fichier)
{
include("pls-admin/data.php4" );
}
else
{
$fichier = @file("pls-admin/data.phtml" );
if($fichier)
{
include("pls-admin/data.phtml" );
}
}
}
}
$fichier = @file("pls-admin/pls-bannieres/data.php" );
if($fichier)
{
include("pls-admin/pls-bannieres/data.php" );
}
else
{
$fichier = @file("pls-admin/pls-bannieres/data.php3" );
if($fichier)
{
include("pls-admin/pls-bannieres/data.php3" );
}
else
{
$fichier = @file("pls-admin/pls-bannieres/data.php4" );
if($fichier)
{
include("pls-admin/pls-bannieres/data.php4" )
;
}
else
{
$fichier = @file("pls-admin/pls-bannieres/data.phtml" );
if($fichier)
{
include("pls-admin/pls-bannieres/data.phtml
" );
}
}
}
}
$Date = date("d/m/Y" );
if ($TestFunction != "1" )
{
function MyAddSlashes($chaine ) {
return( get_magic_quotes_gpc() == 1 ?
$chaine :
AddSlashes($chaine) );
}
function MyStripSlashes($chaine) {
return( get_magic_quotes_gpc() == 1 ?
StripSlashes($chaine) :
$chaine );
}
function MyStripSlashes_2($chaine) {
return( get_magic_quotes_runtime() == 1 ?
StripSlashes($chaine) :
$chaine );
}
$TestFunction = "1";
}
# On se connecte à MySQL
$mysql_link = mysql_connect($MySQL, $LoginM, $PasswordM);
mysql_select_db($Base);
$query = "SELECT * FROM $TableBannieres WHERE Pools LIKE '%$pool%' ";
$mysql_result = mysql_query($query, $mysql_link);
mt_srand(100000000 * (double)microtime());
$Pool = "ABCDEFGHIJKLMOPQRSTUVWXYZ";
$Pool .= "abcdefghijklmopqrstuvwxyz";
$lastChar = strlen($Pool) - 1;
$Liste_sort = "";
$Nb_banniere = "";
while($row = mysql_fetch_row($mysql_result))
{
$Nb_bannieres = $Pool[mt_rand(0, $lastChar)];
$B_ID[$Nb_bannieres] = $row[0];
$B_Poids[$Nb_bannieres] = $row[4];
$B_Debut[$Nb_bannieres] = $row[5];
$B_Fin[$Nb_bannieres] = $row[6];
$B_Fin_method[$Nb_bannieres] = $row[7];
$B_Site[$Nb_bannieres] = $row[8];
$B_Banniere[$Nb_bannieres] = $row[9];
$B_Fenetre[$Nb_bannieres] = $row[10];
$B_Largeur[$Nb_bannieres] = $row[11];
$B_Hauteur[$Nb_bannieres] = $row[12];
$B_Epaisseur[$Nb_bannieres] = $row[13];
$B_Commentaire[$Nb_bannieres] = $row[14];
$B_Texte[$Nb_bannieres] = $row[15];
$B_RichMedia[$Nb_bannieres] = $row[16];
$B_NbClics[$Nb_bannieres] = $row[18];
$B_NbAffichages[$Nb_bannieres] = $row[19];
for($i=1; $i<=$B_Poids[$Nb_bannieres]; $i++)
{
$Liste_sort .= "$Nb_bannieres";
}
}
// Tirage de la banniere (aléatoirement bien sur avec respect des poids des bannières) ! ) Moment crutial
srand((double)microtime()*1000000);
$Banniere_select = $Liste_sort[rand()%strlen($Liste_sort)];
// Maintenant il suffit d'afficher et de mettre à jour les tables pour le nb d'affichage et le nb de clics ! )
if ($B_NbAffichages[$Banniere_select] == "" ) { $B_NbAffichages[$Banniere_select] = 0; }
$Nb_affichages_actu = ($B_NbAffichages[$Banniere_select] + 1);
if ($B_Fin_method[$Banniere_select] == "1" )
{
if ($B_Fin[$Banniere_select] + 1 <= $Nb_affichages_actu)
{
echo " ";
$OK = "0";
}
}
if ($B_Fin_method[$Banniere_select] == "2" )
{
// Test clics
if ($B_Fin[$Banniere_select] <= $B_NbClics[$Banniere_select])
{
// On affiche du blanc
echo " ";
$OK = "0";
}
}
if ($B_Fin_method[$Banniere_select] == "3" )
{
// Test date
list($jour,$mois,$annee) = explode("/",$B_Fin[$Banniere_select]);
$timestamp = mktime(0,0,0,$mois,$jour,$annee);
$d2 = mktime(date("m-d-Y",time()));
$diff = $d2 - $timestamp;
$ecart_jours = floor($diff / 86400);
if ($ecart_jours > 0) {
echo "Bannière expirée.";
$OK = "0";
} else {
$OK = "1";
}
}
if ($OK != "0" )
{
$B_Commentaire[$Banniere_select] = MyStripSlashes($B_Commentaire[$Banniere_select]);
$B_Texte[$Banniere_select] = MyStripSlashes($B_Texte[$Banniere_select]);
$B_RichMedia[$Banniere_select] = MyStripSlashes($B_RichMedia[$Banniere_select]);
// Le nombre d'affichage actuelle - MISE A JOUR
$query5 = "UPDATE $TableBannieres SET NbAffichages='$Nb_affichages_actu' WHERE ID='$B_ID[$Banniere_select]' ";
$mysql_result5 = mysql_query($query5, $mysql_link);
// Le nombre d'affichage de la journnée - MISE A JOUR
$query3 = "SELECT * FROM $TableStats WHERE IDBan='$B_ID[$Banniere_select]' AND Date='$Date' ";
$mysql_result3 = mysql_query($query3, $mysql_link);
$Nb_enr = mysql_num_rows($mysql_result3);
if ($Nb_enr != "0" )
{
while($row = mysql_fetch_row($mysql_result3))
{
$S_ID = $row[0];
$S_NbAffichageJour = $row[4];
}
}
if ($Nb_enr != "0" )
{
$S_NbAffichageJour = ($S_NbAffichageJour + 1);
$query2 = "UPDATE $TableStats SET NbAffichagesJour='$S_NbAffichageJour' WHERE IDBan='$B_ID[$Banniere_select]' AND Date='$Date' ";
$mysql_result2 = mysql_query($query2, $mysql_link);
}
else
{
$query2 = "INSERT INTO $TableStats (IDBan,Date,NbClicsJour,NbAffichagesJour) VALUES ('$B_ID[$Banniere_select]','$Date','','1' ";
$mysql_result2 = mysql_query($query2, $mysql_link);
}
// Enfin ! Maintenant l'affichage ! OUF !
// Encore une petite vérification : la campagne est-elle finis ?
if ($B_RichMedia[$Banniere_select] != "" )
{
// Affichage de la RichMedia
$B_RichMedia[$Banniere_select] = MyStripSlashes_2("$B_RichMedia[$Banniere_select]" );
echo "
$B_RichMedia[$Banniere_select]
";
}
else
{
// Affichage d'une banniere normal
if ($B_Fenetre[$Banniere_select] == "" ) { $B_Fenetre[$Banniere_select] == "_blank"; }
if ($B_Largeur[$Banniere_select] == "" ) { $B_Largeur[$Banniere_select] == "468"; }
if ($B_Hauteur[$Banniere_select] == "" ) { $B_Hauteur[$Banniere_select] == "60"; }
if ($B_Epaisseur[$Banniere_select] == "" ) { $B_Epaiseur[$Banniere_select] == "0"; }
echo "
<a href='$Site/pls-bannieres/clic".$extension."?IDBan=$B_ID[$Banniere_select]' target='$B_Fenetre[$Banniere_select]'><img src='$B_Banniere[$Banniere_select]' alt='$B_Commentaire[$Banniere_select]' border='$B_Epaisseur[$Banniere_select]' width='$B_Largeur[$Banniere_select]' height='$B_Hauteur[$Banniere_select]'>
";
if ($B_Texte[$Banniere_select] != "" )
{
echo "
<center><small>$B_Texte[$Banniere_select]</sma
ll></center></a>
";
}
else
{
echo "</a>";
}
}
}
else
{
echo " ";
}
?>
Marsh Posté le 10-06-2002 à 12:35:49
momo3038 a écrit a écrit : la source: |
heu j'ai pas trouvé la ligne dont tu parles dans la source... pas besoin de tout mettre non plus
Marsh Posté le 10-06-2002 à 12:37:59
Warning: ChDir: No such file or directory (errno 2) in /home/sites/site5/web/pls-bannieres/bannieres.php on line 4
Le pb semble venir de la 4ém ligne:
$toto2 = chdir(".." );
Mais tu avait besoin de tout le code pour voir à quoi cela corespond...
Help me please...
J'ai l'impression qu'il y as une sécurité...
Marsh Posté le 10-06-2002 à 12:43:35
mwouais je vois pas trop pq tu dois faire un chdir...
Marsh Posté le 10-06-2002 à 12:54:44
bhen je vois pas quoi dire de plus.... quelqu'un d'autre aura peut-être une idée
Marsh Posté le 10-06-2002 à 15:25:56
le problème vient surtout du fait que le chemin de ton image est relative.
alors soit tu le mets completement depuis la racine du site,
soit tu initialises une variable $img_path dans ton fichier qui inclu en fonction de son emplacement dans l'arborescence.
j'ai pas bien compris l'intérêt du chdir
Marsh Posté le 10-06-2002 à 11:42:06
Slt, voila je désire utiliser plusieur script sur mon site, un sondage et un gestionnaire de banniere, le pb et que mon site suis un modéle dans dreamweawer (.dwt) permettant d emettre le même code sur toute mes pages....
Le truc c'est que pour mes includes en racines, je dois mettre
$chemin = "banniere";
$pool = "3";
include($chemin."/bannieres.php" );
Et que pour mes fichiers qui ne sont pas en racine je dois mettre
$chemin = "../banniere";
$pool = "3";
include($chemin."/bannieres.php" );
Et cela ne marche pas réciproquement....
Qd je fais une include dévellopé du style:
$chemin = "http://www.monsite.com/banniere";
$pool = "3";
include($chemin."/bannieres.php" );
Cela ne marche pas, tout les script me mette des erreurs....
Pouvouez vous m'aider, car l'include doit être ma même pour toute mes pages.....
Message édité par momo3038 le 06-10-2002 à 11:42:35