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 12/12/2007, 11h41   #1
Membre régulier
 
Inscription : août 2007
Messages : 147
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : août 2007
Messages : 147
Points : 90
Points : 90
Par défaut [Upload] Affichage de photo

Bonjour a tous et toutes

Je vous soumets un ch'ti souci concernant l'affichage de photos uploadé...
pour commencer je vous mets le code en question ca sera surement plus parlant pour vous.
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
<?php
 
// Récupération du dossier dans lequel le fichier sera uploadé	
$DESTINATION_FOLDER =$_SERVER['DOCUMENT_ROOT']."/livredor/admin/mini/" ;
 
// Taille maximale de fichier, valeur en bytes					
$MAX_SIZE = 1000000 ;													
// Définition des extensions de fichier autorisées (avec le ".")
$AUTH_EXT = array( ".jpg", ".jpeg",".gif",".JPG",".JPEG",".GIF") ;											
 
 
// Fonction permettant de vérifier si l'extension du fichier est// autorisée.
function isExtAuthorized($ext){
	global $AUTH_EXT;
	if(in_array($ext, $AUTH_EXT)){
		return true;
	}else{
		return false;
	}
}
 
// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
 
if(!empty($_FILES['avatar']["name"])){
 
	// Nom du fichier choisi:
	$nomFichier = $_FILES['avatar']["name"] ;
	// Nom temporaire sur le serveur:
	$nomTemporaire = $_FILES['avatar']["tmp_name"] ;
	// Type du fichier choisi:
	$typeFichier = $_FILES['avatar']["type"] ;
	// Poids en octets du fichier choisit:
	$poidsFichier = $_FILES['avatar']["size"] ;
	// Code de l'erreur si jamais il y en a une:
	$codeErreur = $_FILES['avatar']["error"] ;
	// Extension du fichier
	$extension = strrchr($nomFichier, ".") ;
 
	// Si le poids du fichier est de 0 bytes, le fichier est
	// invalide (ou le chemin incorrect) => message d'erreur
	// sinon, le script continue.
	if($poidsFichier <> 0){
		// Si la taille du fichier est supérieure à la taille
		// maximum spécifiée => message d'erreur
		if($poidsFichier < $MAX_SIZE){
			// On teste ensuite si le fichier a une extension autorisée
			if(isExtAuthorized($extension)){
				// Ensuite, on copie le fichier uploadé ou bon nous semble.
				$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER . $nomFichier) ;
			}else{
				echo ("Une photo avec cette extension $extension ne peut être chargée<br>") ;
			}
		}else{
			$tailleKo = $MAX_SIZE / 10000;
			echo("Vous ne pouvez charger une photo avec une taille supèrieure à Ko Ko.<br>");
		}		
	}else{
		echo("Le fichier selectionné n'est pas valide <br>");
	}
}else{
	echo("Vous ne pouvez choisir ce fichier<br>");
}
 
 //ouvre le repertoire
   $pointeur = opendir($DESTINATION_FOLDER) ;
   $fichier = $nomFichier ;  
   $i = 0 ; 
 
   //stocke les noms de fichiers images dans un tableau
  while ($fichier = readdir($pointeur)) 
{ 
  		$tab_image = $fichier ;
 
 
 
	} 
 
   //on ferme le répertoire 
   closedir($pointeur) ; 
 
	?>
 
	<div  align="center" class="truc2"><?php echo '<img src="'.$DESTINATION_FOLDER.'/'.$tab_image.'"  width=65  />' ; ?></div>
<form action="formulaire.php" method="post">
<div align="center" class="truc4">
<input type="submit"  value="retour" class="boutique_bouton" />
<input type="hidden" value="<?php echo $mod; ?>" name="mod" id="mod"> 
</div> </form>
A savoir donc que la photo est bien dans le dossier prévu, mais qu'a l'affichage, je n'ai que la fameuse croix rouge, ce script fonctionnait tres bien en local... mais ca marche toujours mieux en local...

Merci a vous de passer jeter un coup d'oeil
Cordialement
bernard26000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 12h01   #2
Membre expérimenté
 
Inscription : janvier 2007
Messages : 624
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 624
Points : 557
Points : 557
Bonjour,
Dans ton code,
Code :
1
2
 
<?php echo '<img src="'.$DESTINATION_FOLDER.'/'.$tab_image.'"  width=65  />' ; ?>
avec

Code :
$DESTINATION_FOLDER =$_SERVER['DOCUMENT_ROOT']."/livredor/admin/mini/" ;
Il me semble que tu devrais plutôt mettre ça :
Code :
1
2
<?php
$VIEW_FOLDER = 'http://'.$_SERVER[HTTP_HOST].'//livredor/admin/mini/';?>
et
Code :
1
2
 
<?php echo '<img src="'.$VIEW_FOLDER.'/'.$tab_image.'"  width=65  />' ; ?>
Par contre, pour les autres occurences de $DESTINATION_FOLDER, je pense que c'est bon.
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 13h40   #3
Membre régulier
 
Inscription : août 2007
Messages : 147
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : août 2007
Messages : 147
Points : 90
Points : 90
Par défaut affichage photo

Merci Kabkab

merci pour ta réactivité et pour ta reponse...

j'ai bien changé les lignes que tu me conseilles de changer, mais...
j'ai toujours la ptite croix rouge et avec les erreurs suivantes...

Warning: readdir(): supplied argument is not a valid Directory resource in /home.10.29/vmfloc/www/test/upload/upload.php on line 282

Warning: closedir(): supplied argument is not a valid Directory resource in /home.10.29/vmfloc/www/test/upload/upload.php on line 291


ligne 282
Code :
  while ($fichier = readdir($pointeur))
et ligne 291Merci encore pour ton aide
Cordialement
bernard26000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2007, 13h15   #4
Membre expérimenté
 
Inscription : janvier 2007
Messages : 624
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 624
Points : 557
Points : 557
Bonjour, je viens de me rendre compte d'un erreur de frappe

Code :
1
2
3
 
<?php
$VIEW_FOLDER = 'http://'.$_SERVER[HTTP_HOST].'/livredor/admin/mini/';?>
Essayes de faire :
Code :
1
2
3
4
<?php
   echo $DESTINATION_FOLDER;
   $pointeur = opendir($DESTINATION_FOLDER) ;
?>
et voir si ça correspond à ton arborescence. Autrement, il faut savoir que certains hébergeurs ont "bridé" le php pour que le opendir et les fonctions du même genre ne pointent pas en dehors d'une certaine branche de l'arborescence.
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h15.


 
 
 
 
Partenaires

Hébergement Web