Salut à tous,
Je suis en train de dévlopper un petit morceau de code qui permet de convertir un JPG en PNG.
Donc, le fichier est déposé sur le serveur dans un dossier "test" il est tout simplement renomé monfichier.jpg en monfichier.png (en md5).
Une fois uploadé, il se renome, puis avec un "header location", on est redirigé sur l'image en question pour le télécharger en PNG.
Je voudrais utiliser la fonction "unlink" pour le supprimer ensuite, mais le problème c'est que si j'utilise le "unlink" le fichier se supprime et du coup le "header location" nous redirige sur une page innexistante (erreur 404).
Ma question est comment faire en sorte que le fichier se supprime seulement après téléchargement??
J'ai essayé avec un "sleep" mais marche pas.
Voici mon code:
Code PHP :
#Créer un dossier à la racine de son site nomé "test" chmod 755
<?php
if (isset($_POST['envoyer'])) {
$dossier = 'test/';
$temp_fichier = $_FILES['fichier']['tmp_name'];
$nom_fichier = $_FILES['fichier']['name'];
if(!move_uploaded_file($temp_fichier, $dossier . $nom_fichier)){
exit("Impossible de copier le fichier. <br><br>Votre fichier est surement trop lourd.");
}
$url = $dossier . md5($nom_fichier) . '.png';
rename($dossier . $nom_fichier, $url);
header("location: $url");
}
?>
<form action="test.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<div align="center">
<input type="file" name="fichier" id="fichier" />
<input type="submit" name="envoyer" id="envoyer" value="Envoyer" />
</div>
</form>
Merci d'avance !!
VestaX