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 18/11/2010, 16h56   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 27
Points : 10
Points : 10
Par défaut Répertoire innaccessible (type inconnu)

Bonjour,

Voila impossible d'acceder à un répertoire ! la fonction pathinfo() identifie bien le nom du rep. mais toutes les autres fonctions (dir) plantent ainsi que filetype()
je join ce répertoire mutant en PJ, peut être quelqun aura une explication ????

Code :
1
2
3
4
5
6
7
8
?php
$path = dirname( __FILE__ );
$path2 = '\Copie de Régions_chir';
 
print_r( pathinfo( $path.$path2 ) );
 
echo filetype ( $path.$path2 );
?>
Fichiers attachés
Type de fichier : zip Copie de Régions_chir.zip (290 octets, 3 affichages)
laurent1133 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 21h29   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 814
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 814
Points : 3 436
Points : 3 436
A tester :
- Remplacer le \ par un /
- Supprimer le caractère accentué

Citation:
mais toutes les autres fonctions (dir) plantent ainsi que filetype()
Le serveur plante réellement ou msg d'erreur ?
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 11h10   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 27
Points : 10
Points : 10
Par défaut :calim2:

Bonjour Séb.

Ok pour l'accent c'est ce qui pose problème ! dans mon cas ce n'est pas majeur, mais y a pas comme un gros problème, ne peut on pas gèrer un répertoire accentué en PHP ?
laurent1133 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 14h24   #4
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 814
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 814
Points : 3 436
Points : 3 436
Citation:
Envoyé par laurent1133 Voir le message
Ok pour l'accent c'est ce qui pose problème ! dans mon cas ce n'est pas majeur, mais y a pas comme un gros problème, ne peut on pas gèrer un répertoire accentué en PHP ?
Si, mais ensuite faut voir comment ton OS gère ça et le charset utilisé par ton PHP.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 08h06   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 27
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 27
Points : 10
Points : 10
Par défaut fonction

Ok merci Séb pour les infos !


Je poste une fonction si d'autres avez la même problème.


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
<?PHP
/**
* recupere le contenu d un repertoire avec accent v2.0
*
* array _scandir( $path, $option ) 
* 
* option 'f' : fichier uniquement
* option 'd' : directory uniquement
* option '.exe' : indique l extention '.xxx' a filtrer uniquement
*
* retourne false en cas d echec
*/
function _scandir( $path = NULL , $option = NULL ){
 
	if( is_null( $path ) || empty( $path ) ){
		$path = dirname( __FILE__ );
	}
 
	$path = utf8_encode( $path );
	$path = rtrim( $path, '\\' );
	$path = rtrim( $path, '/' );
	$path = $path.'/';
 
	$scan = @scandir( $path ) ;
 
	if( $scan == false ){
		trigger_error( '* _scandir => path error *', E_USER_WARNING );
		return false;
	}	
 
	unset( $scan[ array_search( '.', $scan ) ] );
	unset( $scan[ array_search( '..', $scan ) ] );	
 
	$option = strtolower( $option );
 
	if( strlen( $option ) > 1 ){
		$ext = trim( $option, '.' ) ;
		$option = 1;
	}
 
	//on efface ce que l'on ne veux pas
	foreach( $scan as $k=>$el ){	
 
		$scan[ $k ] = utf8_encode( $el );
 
		switch( $option ){
			case 'f':
				if( is_dir( $path.$el ) ){
					unset( $scan[ $k ] ); 
				} 
				break;
			case 'd':	
				if( !is_dir( $path.$el ) ){
					unset( $scan[ $k ] );
				} 
				break;			
			case 1:
				if( $ext != pathinfo( $path.strtolower( $el ) , PATHINFO_EXTENSION ) ){
					unset( $scan[ $k ] );
				}
				break;
			default:
		}
	}
 
	return $scan;
}
?>
laurent1133 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 09h00.


 
 
 
 
Partenaires

Hébergement Web