Bonjour

Un peu nouveau sur le forum, j'ai fouillé sur le net, dans la FAQ, mais je n'ai rien trouvé qui résolvait mon problème. Je débute sous PhP/apache et cie...

Donc, l'environnement:
J'ai un serveur Debian, avec Apache2, mySql, Php (ca reste du classique).

Mes données sont dans /var/www/ et sont organisées ainsi:
*un repertoire /pdf/ qui contient divers document en pdf (disons que le serveur sert à échanger, mettre à jour ces pdf, soit par ftp, soit via interface web (ajaxExplorer).

*un repertoire /scripts/ qui contient deux trois petits scripts php, ils sont placés ici car je ne souhaite pas les voir apparaitre dans le repertoire pdf (et ils n'ont rien en commun). A l'interieur de /scripts/ J'ai fait un lien symbolique (via un ln -s) vers le repertoire /pdf.

et ensuite les répertoires de phpmyadmin et celui d'ajaxExplo.

Bon, rien d'exceptionnel.
Tous les répertoires ont pour l'heure les mêmes droits, utilisateur et accès.
Je peux donc écrire dans /pdf/ aussi bien en ftp, que via Ajax,...

J'ai configurer Apache de sorte:
a avoir sous l'adresse X.X.X.X/data/ la liste des fichiers contenus dans /pdf/
a avoir directement sous X.X.X.X/ le chargement de ajaxExplorer
a avoir sous X.X.X.X/scripts/ une page index.html qui permet de regrouper les liens vers les différents scripts (chercher un fichier, afficher des infos sur le serveur, etc...).

Voilà pour le contexte.
Dans l'ensemble ca marche et j'arrive à fait ce que je veux et afficher ce que j'attends....
Sauf, que je voudrais faire un script qui liste tous les fichiers présents dans /pdf (ca marche avec un fichier php placé dans /pdf/ mais comme dit plus haut, si je pouvais éviter de le laisser là...)

Pas de soucis me dis-je, j'ai le lien "data" qui est présent dans /scripts.
juste à le suivre, et il ne devrait pas y avoir de soucis.

Oui, mais là pas moyen:
Par exemple, is_Link('data'), ou encore is_Link('/var/www/scripts/data'), me retourne toujours faut (j'ai fait aussi le test avec is_dir, is_file.. etc toujours faut). Pourtant, is_file(index.htm) fonctionne bien du premier coup...

bref, le liens symbolique semble totalement inexistant pour PHP... et j'ai beau essayé divers solutions, rien y fait.
pourtant, à l'adresse X.X.X.X/scripts/data mes données du répertoire /pdf s'affiche bien.
Si je liste les éléments qui sont dans /scripts via php, je vois bien 'data' qui apparait...

Dans ma conf Apache, j'ai:
un fichier script.conf qui est dans conf.d
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Alias /scripts /var/www/scripts
 
<Directory /var/www/scripts>
	Options Indexes FollowSymLinks
<IfModule mod_php5.c>
		AddType application/x-httpd-php .php
		php_flag magic_quotes_gpc Off
		php_flag track_vars On
		php_flag register_globals Off
		php_admin_flag allow_url_fopen Off
		php_value include_path .
		php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
		php_admin_value open_basedir /var/www/scripts
	</IfModule>
 
</Directory>

et dans sites_available
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
VirtualHost *:80>
        ServerAdmin postmaster@test1.com
 
        DocumentRoot /var/www/scripts/
        <Directory /var/www/scripts/>
	AllowOverride All                
	Options Indexes FollowSymLinks MultiViews
 
        </Directory>
 
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin/">
          Options ExecCGI
          AddHandler cgi-script cgi pl
	</Directory>
 
	ErrorLog /var/log/apache2/error.log
	LogLevel warn
 
	CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Bon, doit certainement y avoir du nettoyage à faire dans ces fichiers de conf... mais je ne pense pas que le pb vienne de là. :'(

et le bout de code PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
  $linkdir  ='data'; //---- là où je change les divers solutions testées
  echo "$inkdir <UL>";
 
  if (is_file($linkdir))
  {echo "$linkdir - Fichier <UL>";}
  else
    {echo "$linkdir - Not Fichier<UL>";}
 
 if (is_link($linkdir))
  {echo "$linkdir - Lien <UL>";}
  else
    {echo "$linkdir - Not Lien<UL>";}
 
  if (is_dir($linkdir))
  {echo "$linkdir - Dir <UL>";}
  else
    {echo "$linkdir - Not Dir <UL>";}
?>
Si vous savez comment je pourrais passer outre ce soucis...
Merci