Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 15/11/2006, 09h50   #1
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Par défaut [Upload] Problème affichage fichier généré par script

Bonjour,
Je n'ai pas trouvé la réponse à cette question sur le forum... Et pour cause, la voici
J'ai développé un script qui génère des messages de bienvenue sur mon serveur distant.

Ces messages sont diffusés grâce à un iframe dans une page suivant une sorte de playlist.

Lorsque le fichier généré doit s'afficher, j'ai un message type objet non trouvé, alors que le fichier existe bien physiquement sur le serveur dans le répertoire spécifié.

Pour être sûr que le fichier était introuvable, j'ai fait un htaccess vers un autre fichier en cas d'erreur 404... Mais j'ai toujours le message d'objet introuvable.

Le plus bizarre est que lorsque je lance les fichiers séparément et directement, ils fonctionnent. Mais en plus, si je les télécharge en local et que je les upload ensuite sur le serveur, ils sont bien diffusables !!!

Je deviens DINGUE !!!!!!
Pitié ! AIDEZ-MOUAA!!!!!

Comment faire pour qu'ils fonctionnent directement ces fichiers ?:!

Merci
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 13h26   #2
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 4
Points : 4
Bonjour,

peux tu nous mettre le code qui appelle ton fichier afin de voir ce qui cloche car beaucoup de chose peuvent intervenir ?

Merci
Nerzhuul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 14h14   #3
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Bien sûr, les voici !

Le fichier servant à créer les messages de bienvenue génère les fichiers dans le dossier "Files" dans lequel tous les documents susceptibles d'être diffusés sont stockés (c'est aussi le dossier d'upload),
bienvenue.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?php
 
if ((isset($_POST['nom']))&&(isset($_POST['societe']))){
 
$civil=$_POST['civil'];
$nom=$_POST['nom'];
$societe=$_POST['societe'];
 
///////////////////////////// Upload du logo de la société
 
$content_dir = './Files/Images/';
    $tmp_file = $_FILES['logo']['tmp_name'];
    if(!is_uploaded_file($tmp_file)){
        print ("<center>Pas de fichier image.<br></center>");}
    else { echo "<center>Fichier transféré !<br></center>";}
 
    $name_file = $_FILES['logo']['name'];
    if( !move_uploaded_file($tmp_file, $content_dir . $name_file)){
        print("<center>Impossible de copier le fichier image.<br></center>");}
    else { echo "<center>Le fichier a été correctement chargé !<br></center>";
	}
$image="<img src=\"./images/$name_file\">";
if ($tmp_file==""){$image="";}
 
if (isset($_POST['prenom'])){
	$prenom=$_POST['prenom'];}
else {$prenom="";}
 
$media="<html>
<head><title>Welcome</title>
<style type=\"text/CSS\">
#top{
 	position:absolute;
	z-index:1;
	text-align:center;
	align:center;
}
#div{
 	position:relative;
	z-index:3;
}
#bottom{
	z-index:2;
	text-align:right;
	margin-right:0px;
	margin-top:-95px;
}
</style>
</head>
<body>
 
<div id=\"top\" width=\"100%\"><img id=\"top\" src=\"Images/top.gif\"></div>
<center>
<table height=\"100%\" width=\"100%\">
	<tr><td>
	<div id=\"div\" style=\"text-align:center; margin-top:10px;\" width=\"200\" height=\"500\">
		<font color=#FF0000; font size=26pt>
			<marquee style=\"text-align:center;\" behavior=\"scroll\" direction=\"up\" scrollamount=\"3\" align=\"center\">Bienvenue $civil $prenom $nom !<br>$image<br>$societe
			</marquee>
		</font>
	</div></td></tr>
</table>	
</center>
<div id=\"bottom\"><img id=\"bottom\" src=\"images/bottom.gif\"></div>
</body>";
 
//////////////////////////// Création du fichier Welcome
 
$filename="./Files/$nom.html";
$fichier="$nom.html";
$somecontent = $media;
 
    if (!$handle = fopen($filename, 'w')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }
 
    if (fwrite($handle, $somecontent) === FALSE) {
       echo "Impossible d'écrire dans le fichier ($filename)";
       exit;
    }
 
    echo "<center><b>Fichier de bienvenue $fichier créé ! </b><br></center>";
 
    fclose($handle);
 
 
///////////////////////////////////////////// Insertion dans la base de données
 
$titre = "$nom";
$id = "";
$objet=$fichier;
$description = "Message bienvenue $nom";
$duree = "12";  
$ordre1="";
$ordre2="";
$ordre3="";
$heure="";
$date="";
 
 
$sql="INSERT INTO table VALUES ('$id', '$titre', '$objet', '$description', '$duree', '$ordre1', '$ordre2', '$ordre3', '$heure', '$date')";
mysql_query($sql);
}
?>
	<table border="0" cellpadding="5">
		<form name="bienvenue" action="" method="POST" enctype="multipart/form-data">
			<tr>
				<td>Civilité</td>
				<td><select size="1" name="civil">
						<option value="M.">M.
						<option value="Mme">Mme
						<option value="Mlle">Mlle
					</select></td>
			</tr>
			<tr>
				<td>Nom de l'invité(e)</td>
				<td><input type="text" size="50" name="nom"></td>
			</tr>
			<tr>
				<td>Prénom de l'invité(e) (optionnel)</td>
				<td><input type="text" size="50" name="prenom"></td>
			</tr>
			<tr>
				<td>Nom de la société</td>
				<td><input type="text" size="50" name="societe"></td>
			</tr>
			<tr>
				<td>Logo de la société (optionnel)</td>
				<td><input type="file" name="logo" size="20"></input></td>
			</tr>
			<tr>
				<td></td>
				<td><input type="submit" name="submit" value="Valider">&nbsp &nbsp<input type="reset" name="annul" value="Effacer"></td>
			</tr>
		</form>	
		</table>
<br>
<br>
<a href="admin.php">Retour à la console d'administration</a>		
</center>
</body>
</html>

J'utilise ensuite un fichier pour la création d'une boucle de fichiers HTML contenant les documents à diffuser et qui se trouvent dans le dossier "Folder1":
update_files.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
include("connexion.php");
 
print("<html><head><META HTTP-EQUIV=REFRESH CONTENT=\"1;URL=../index.php\"/>");
 
$dir="./";
 
$diropen=opendir($dir);
 
while($file =readdir($diropen)){
		$extension= strtolower(substr( strrchr( $file, "." ), 1 ));
	       if ($extension=="htm" or $extension=="html"){
			unlink("$file");
		}
	}
 
echo "Anciens fichiers supprimés<br><br>";
 
$query="SELECT * FROM `table` WHERE `Ordre1`<>0 ORDER BY Ordre1";
$result=mysql_query($query);
 
$req="SELECT max(Ordre1) as maxi FROM `table` WHERE `Ordre1`<>0";
$res=mysql_query($req);
$cont=mysql_fetch_object($res);
 
$req1="SELECT min(Ordre1) as mini FROM `table` WHERE `Ordre1`<>0";
$res1=mysql_query($req1);
$cont1=mysql_fetch_object($res1);
 
$max=$cont->maxi;
$min=$cont1->mini;
 
 
while ($val=mysql_fetch_object($result)){
$order=$val->Ordre1;
$min>0;
if ($order==$max){$order=$min;} else {$order=$order+1;};
 
$objet=$val->Objet;
 
$extension= strtolower(substr( strrchr( $objet, "." ), 1 ));
   if ($extension=="swf"){			
$media = "<html><head><title>Affichage dynamique</title><META HTTP-EQUIV=REFRESH CONTENT=\"$val->Duree;URL=fichier$order.html\"/></head><body><object type=\"application/x-shockwave-flash\" data=\"http://localhost/affdyn/Files/$val->Objet>\" width=\"100%\" height=\"100%\"><param name=\"movie\" value=\"http://localhost/affdyn/Files/$val->Objet\"><param name=\"wmode\" value=\"transparent\"></object></body></html>";}
 
	elseif (($extension=="htm")||($extension=="html")||($extension=="php")){
$media="<META HTTP-EQUIV=REFRESH CONTENT=\"$val->Duree;URL=fichier$order.html\"/><iframe src=\"http://localhost/affdyn/Files/$val->Objet\" width=\"100%\" height=\"100%\" marginwidth=\"0\" marginheight=\"0\" hspace=\"0\" vspace=\"0\" frameborder=\"0\" scrolling=\"no\"/>";
	}
 
 
$filename = "../folder1/fichier$val->Ordre1.html";
$somecontent = $media;
 
    if (!$handle = fopen($filename, 'w')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }
 
    if (fwrite($handle, $somecontent) === FALSE) {
       echo "Impossible d'écrire dans le fichier ($filename)";
       exit;
    }
 
    echo "($filename) créé ! <br>";
 
    fclose($handle);
 
}
 
?>
Ensuite pour les lire, j'utilise le fichier
show_files.html:
Code :
1
2
3
4
5
6
7
<html>
 
<head><title>Affichage dynamique</title></head>
<body>
<iframe id="dyn" src="./fichier1.html" width=100% height=100% marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" scrollbars="no">
</body>
</html>
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 14h17   #4
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
En local ça marche très bien, de même qu'en upload....

C'est la création et l'utilisation directe qui foirent quelque part...
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 14h39   #5
Invité de passage
 
Inscription : mars 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 6
Points : 4
Points : 4
le répertoire où tu tentes de stocker le dit fichier a-t-il les droits d'écritures ?
Nerzhuul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 15h45   #6
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Oui ! En tout cas c'est ce que me dit FileZilla...

Cependant, j'ai noté que lors du transfert des fichiers php via FileZilla, il fallait que je rafraichisse les vues manuellement pour voir l'incidence des uploads, et même vérifier que les fichiers générés par le script.

Or, sur le même serveur, mais dans un autre dossier, je n'ai pas ce problème, tout se fait instantanément...

Des idées?
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 10h29   #7
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
J'ai finalement imposé un CHMOD777 au dossier et aux fichiers au moment de la création.

Ce qui est bizarre, c'est que j'ai une erreur (vu que je suis pas propriétaire), mais que maintenant les fichiers fonctionnent...

Donc j'ai le bon résultat mais avec l'erreur suivante:
Code :
Warning: chmod(): No such file or directory in c:\program files\easyphp1-8\www\...\bienvenue.php on line 104
Un éclaircissement ?

Merci
Gamin
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2006, 12h18   #8
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Bon ben finalement, je ne vais pas chercher à comprendre... tant que ça marche
Merci de votre aide !
mathieugamin 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 07h05.


 
 
 
 
Partenaires

Hébergement Web