Maison  >  Article  >  développement back-end  >  Comment copier et déplacer des fichiers via php

Comment copier et déplacer des fichiers via php

jacklove
jackloveoriginal
2018-05-09 09:01:343546parcourir

L'exemple de cet article décrit comment copier et déplacer des fichiers en PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Un exemple simple d'imitation d'elFinder et d'extraction de méthodes membres clés

La fonction implémentée est :

Réalisation de plusieurs opérations de copie ou de déplacement de fichiers

Remarque : Afin de faciliter les tests, certains jugements ont été simplifiés. Et un nouveau dossier de test sera généré comme dossier de destination dans le répertoire où se trouve le fichier programme
. Une modification est requise si une utilisation réelle est requise.
le fichier copy.php est le suivant :

PHP5 **/ /*** Déterminer si le fichier existe **/ function _isFind($filename) { return @file_exists($ filename) ; } /*** Déterminer si le dossier existe ? Traitement simple : juger uniquement le répertoire racine **/ function _isFindDir($dir) { $ls = scandir(dirname(__FILE__)); foreach ($ls as $val) { if ($val == $dir) return TRUE ; } return FALSE; } /*** Copier ou déplacer * * @param array Tableau du dossier source : traitement simple : utiliser le nom du fichier comme valeur d'élément * @param string dossier de destination * @param string Opérandes : move - move - copy * @return bool*/ function _copy_move($src = array(), $dst = '', $op = 'move') { if ( ! is_array($src)) { $src = array ($src); } //Vérifier si le fichier source existe ? foreach ($src as $val) { if ( _isFind($val) === FALSE) { return _log('Fichier Src non trouvé', $ val); } } //Déterminer si le dossier de destination existe ? S'il n'existe pas, générer le //Traitement simple : l'application réelle doit être modifiée if (_isFindDir($dst) === FALSE) { @mkdir($dst) ); } //Exécuter l'opération de déplacement ou de copie foreach ($src as $val) { $_dst = $dst.'http://www.jb51.net/'.basename($val); le fichier de destination existe ? L'opération n'est pas autorisée s'il existe if (_isFind($_dst) === TRUE) { return _log('Le fichier Dst existe', $dst } else if (strpos($dst, $); val) === 0) { return _log('Impossible de copier/déplacer dans lui-même'); } if (strtolower($op) === 'move') { if ( ! rename($val, $_dst)) { return _log('Impossible de déplacer les fichiers', $val ); } } else if (strtolower($op) === 'copy') { if ( ! _copy($val, $_dst)) { return _log(' Impossible de copier les fichiers', $val); } } } return 'Succès !'; } /***Opération de copie**/ function _copy($src, $dst) { if ( ! is_dir($src)) { if ( ! copy($src, $dst)) { return _log ("Impossible de copier les fichiers", $src); } else { mkdir($dst); ; $i < count($ls); $i++ ) { if ($ls[$i] == '.' OU $ls[$i] == '..') continuer ; 'http://www.jb51.net/'. $ls[$i]; $_dst = $dst.'http://www.jb51.net/'.$ls[$i]; $_src)) { if ( ! _copy($_src, $_dst)) { return _log('Impossible de copier les fichiers', $_src); } } else { if ( ! copy($_src, $_dst)) { return _log('Impossible de copier les fichiers', $_src); } } } } return TRUE; } /*** Journalisation **/ function _log($msg, $arg = '') { if ($arg != '' ) { $msg = "date[".date(' Y-m-d H:i:s')."]tmsg[".$msg."]targ[".$arg."]n" } else { $msg = "date[".date('Y-m-d H:i :s')."]tmsg[".$msg."]n" } echo $msg; return @file_put_contents('copy.log', $msg, FILE_APPEND); } /*** Exemple * 1. Le paramètre tableau de $src doit être modifié ; 2. Le troisième paramètre de _copy_move peut être modifié pour tester l'opération de déplacement/copie séparément **/ $ src = array('img', 'min', 'phpinfo.php'); $dst = 'test'; copy')); /*fin de php*/

J'espère que cet article sera utile à la conception de la programmation PHP de chacun.

Cet article explique la méthode de copie et de déplacement de fichiers en PHP Pour plus de matériel d'apprentissage, veuillez faire attention au site Web PHP chinois.

Recommandations connexes :

Connaissances connexes sur les contraintes SQL DEFAULT

Connaissances connexes sur les contraintes SQL CHECK

Connaissances pertinentes sur les contraintes SQL NOT NULL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn