Bonjour,
J'aimerais créer le script d'une tâche CRON (utilisable avec mon hébergeur).
Elle vérifierai si dans un dossier du serveur, les images sont utilisées dans la base de données.
Si elle n'est pas utilisée, elle est supprimée.
J'utilise un formulaire d'upload avec un textarea et le champ de l'image est facultative (NULL)
Le problème c'est que je fais un preview avant de publier le texte et l'image, sauf que l'image se trouve déjà sur le serveur.
Donc si le membre actualise sans publier, elle encombrera mon espace disque.
C'est pour ça qu'une tâche CRON qui s’exécute à chaque 3h du matin par exemple, pourrait supprimer les images inutiles.
Le problème c'est que je sais supprimer une image du serveur avec unlink();
Mais pour vérifier que l'image est inutilisée, je bloque
Voici le script d'upload, appelé en ajax :
<?php
session_start();
require('../../include/config.inc.php');
$valid_exts = array('jpeg', 'jpg', 'png');
$max_size = 2000 * 2000;
$path = 'upload/';
if(!empty($_FILES['filename'])){
$ext = strtolower(pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION));
if(in_array($ext, $valid_exts) AND $_FILES['filename']['size'] < $max_size){
$path = $path . uniqid(). '.' .$ext;
if(move_uploaded_file($_FILES['filename']['tmp_name'], $path)){
?>
<img src="img/loaderImg.gif" height="48" width="48" id="loaderStatutImg" alt="" />
<img src="users/ajax/<?php echo $path; ?>" height="150" width="200" class="loadImg" style="display:none;" alt="" />
<input type="hidden" name="statut_img" class="inputStatutImg" value="<?php echo $path; ?>" />
<script type="text/javascript">$('#loaderStatutImg').show();$('.loadImg').on('load',function(){$('#loaderStatutImg').hide();$(this).fadeIn('fast');});</script>
<?php
}
} else {
echo '<span class="errorUpload">Invalid file!</span>';
}
} else { ?><script type="text/javascript">$('#preview').hide();</script><?php } ?>
PS : ce post rejoins le problème de celui-ci :
php-debutant/message-confirmation-formu ... 70033.html
Merci d'avance