Je dois autoriser les utilisateurs de mon site Web à supprimer leurs images du serveur après les avoir téléchargées s'ils ne les veulent plus. J'utilisais auparavant la unlink
fonction en PHP, mais on m'a dit depuis que cela peut être assez risqué et poser un problème de sécurité. (Code précédent ci-dessous :)
if(unlink($path.'image1.jpg')){
// deleted
}
Au lieu de cela, je veux simplement déplacer le fichier dans un dossier différent. Cela doit pouvoir être fait longtemps après avoir téléchargé le fichier pour la première fois, donc à chaque fois qu'ils se connectent à leur compte. Si j'ai le dossier principal qui stocke les images des utilisateurs:
user/
puis dans ce dossier appelé del qui est la destination pour mettre leurs images indésirables:
user/del/
Existe-t-il une commande pour déplacer un fichier dans un autre dossier? Alors ça dit:
user/image1.jpg
se déplace vers / devient
user/del/image1.jpg
Utilisez la fonction renommer () .
rename("user/image1.jpg", "user/del/image1.jpg");
la source
Si vous souhaitez déplacer le fichier dans un nouveau chemin avec conserver le nom de fichier d'origine. utilisez ceci:
$source_file = 'foo/image.jpg'; $destination_path = 'bar/'; rename($source_file, $destination_path . pathinfo($source_file, PATHINFO_BASENAME));
la source
J'utilise le shell pour lire tous les fichiers de données, puis les affecter au tableau. Ensuite, je déplace le fichier en position supérieure.
i=0 for file in /home/*.gz; do $file arr[i]=$file i=$((i+1)) done mv -f "${arr[0]}" /var/www/html/
la source
Une solution consiste d'abord à copier () le fichier (comme mentionné ci-dessus) et lorsque le fichier de destination existe - le fichier unlink () de la localisation précédente. De plus, vous pouvez valider la somme de contrôle MD5 avant de dissocier pour être sûr
la source
Créez une fonction pour la déplacer:
function move_file($file, $to){ $path_parts = pathinfo($file); $newplace = "$to/{$path_parts['basename']}"; if(rename($file, $newplace)) return $newplace; return null; }
la source
utilisation copy () et unlink () fonction
$moveFile="path/filename"; if (copy($csvFile,$moveFile)) { unlink($csvFile); }
la source
shell_exec ('mv filename dest_filename');
la source