2011-08-04 3 views
1

Quelqu'un peut-il s'il vous plaît aider avec une fonction de fichier de verrouillage PHP?Fonction de fichier de verrouillage PHP simple

Je veux créer un lien symbolique quand une URL comme celui-ci est suivi (avec le nom de fichier étant les caractères après « file = »):

http://www.blah.com/download.php?file=zFZpj4b2AkEFz%2B3O

et je besoin de refuser l'accès si le lien symbolique existe ... mais je suis hors de mon rayon!

Aide grandement appréciée.

Répondre

1

Voir cet exemple (les commentaires sont à moi) pris du PHP Manual for is_link():

<?php 
$link = 'uploads'; 

if (is_link($link)) { // check if the link exists 
    echo(readlink($link)); // echo out path this link points to 
    // this is where you ban access 
} else { 
    symlink('uploads.php', $link); // create the symlink 
} 
?> 
+0

Merci, je vais tenter le coup! –

2

Vous pouvez exécuter un script shell avec chmod pour restreindre l'accès. Utilisez la fonction exec en php.

ln -s mysymlink 
if [ -f mysymlink ] then 
    chmod 000 filenametobedenied 
fi 

cela pourrait être le script shell conservez-le dans la racine du document filecheck.sh et exécuter ce script throgh la fonction exec ('de filecheck.sh')

+0

Merci. Je ne suis pas sûr que je suis, pourriez-vous élaborer s'il vous plaît? –

+0

Créez un script shell avec la commande shell pour créer un lien symbolique, recherchez un fichier particulier, puis modifiez l'autorisation pour le fichier souhaité. –

+0

exécuter alors que script shell par la fonction exec en php –

0
ln -s mysymlink 
if [ -f mysymlink ] then 
    chmod 000 filenametobedenied 
fi 

cela pourrait être le script shell conservez-le dans la racine du document filecheck.sh et exécuter ce script throgh la fonction exec ('de filecheck.sh')

+2

Modifiez votre réponse originale avec ceci. – Treffynnon

+0

Merci Treffynnon .J'ai essayé de modifier le commentaire avant et échoué, c'est pourquoi j'ai posté à nouveau.Maintenant j'ai seulement remarqué le bouton d'édition sous la réponse. –