2014-05-08 2 views
-5

Je souhaite supprimer le fichier lorsque j'ai appuyé sur le bouton. Mon code est ci-dessousSupprimer un fichier lorsque j'ai appuyé sur le bouton

<html> 
    <input type="button" value="Delete" onClick="if(confirm('Are you sure want to delete  Msg<?php $file="0000"; echo $file; ?>?')) 
    <?php unlink("msg".$file.".wav"); 
     unlink("msg".$file.".gsm"); 
     unlink("msg".$file.".WAV"); 
     unlink("msg".$file.".txt"); 
    ?> 
    alert('The Msg<?php echo $file; ?> is Deleted') 
else alert('The Msg<?php echo $file; ?> not Deleted')"> 
</html> 

Mais il ne travaille pas

+0

Il est préférable de donner un nom de fonction dans onclick puis d'écrire toutes les actions que vous devez effectuer dans cette fonction. – Pranav

+6

PHP s'exécute sur le serveur. Javscript s'exécute sur la machine du client. Vous ne pouvez pas exécuter PHP sur la machine du client, ce qui signifie que Javascript (fonctionnant sur la machine du client), ne peut pas exécuter du code PHP (parce que PHP ne s'exécute que sur le serveur). Au lieu de cela, vous pouvez appeler un script PHP en soumettant un formulaire ou en l'envoyant en utilisant AJAX. Ce script PHP peut supprimer le fichier et rendre compte à l'utilisateur. – Cully

+0

Comment cela fonctionnera. où est ta fonction? où est votre code de suppression. –

Répondre

1

Il y a quelques problèmes ici.

Tout d'abord, vous ne finirez jamais votre attribut onClick, donc cela risque d'entraîner des erreurs JavaScript. Vérifiez cela dans votre console. Si vous utilisez onClick il est préférable de garder un bref JavaScript ici — écrire une fonction JavaScript, et l'appeler à partir de cet événement.

Tout PHP que vous avez sera exécuté lorsque la page est exposée. Ainsi, vos suppressions seront effectuées immédiatement, et non dans l'instruction JavaScript if comme vous le souhaitez. Vous pouvez y parvenir dans l'une des deux façons:

  • Mettre en place une forme de méthode post pour faire un voyage au serveur, dans lequel vous faites vos suppressions de fichiers
  • Utiliser un appel AJAX pour faire une chose similaire l'arrière-plan. Les bibliothèques comme jQuery vous faciliteront la tâche

Enfin, il n'est pas clair comment vous voulez que le $file soit rempli. Si cela dépend du bouton sur lequel vous appuyez, vous devez le lire dans l'une des approches ci-dessus, puis le détecter sur le serveur.

Comme d'autres l'ont dit, il n'y a pas de substitut pour s'asseoir pour une bonne partie de l'étude avec un livre ou une vidéo. C'est frustrant quand vous voulez juste faire quelque chose, mais vous trouverez un bon investissement à long terme. Restez-y!

2

Je pense que cette question montre qu'il ya un manque de compréhension sur la façon dont le code côté serveur et côté client fonctionne. Pour réaliser ce genre de chose, vous devrez envoyer une requête à votre serveur, effectuer l'action et ensuite retourner une sortie à l'utilisateur - à moins de réécrire votre code pour vous, il n'y a pas grand-chose à faire ici.

La documentation unlink() est disponible sur le site Web de PHP: http://www.php.net/manual/en/function.unlink.php

Si vous recherchez le web, il y a beaucoup de tutoriels pour vous montrer comment réaliser ce genre de chose. Voici un exemple: http://www.tizag.com/phpT/filedelete.php

Questions connexes