php移动文件夹和文件程序代码
php中移动复制文件我们使用copy,下面我们来看一个简单的实例,他实现了目录与目录文件移动,希望此文章对大家帮助。
方法一,copy+unlink方式
我的思路是:移动=新建+删除。在移动之前在目标的目录新建一个文件夹,然后在把文件和目录都复制过去,最后在执行删除.
<?php /** * @parammoveDir 剪切文件和目录 * @param string $to 目标文件路径 * @param string $from 源文件路径 */ function moveDir($from, $to) { if (!is_dir($from)) { //判断$from源文件目录是不是存在 return false; } $from = rtrim(str_replace('//', '/', $from) , '/'); //为了在linux上兼容,我们把/符号全部转换成/因为windows下面2个符号都可以的. $files = scandir($from); //列出源文件目录的文件和文件夹,并且以数组的形式存入 $files。 /* $files的输出结果: Array ( [0] => . [1] => .. [2] => a [3] => b [4] => c [5] => dir [6] => dir.php [7] => dir2 [8] => dir2.php [9] => function_file.php [10] => homework.php ) 可以看到scandir这个函数会输出2个多余的值: [0] => . [1] => ..在这对我们木有用.写一个if干掉他们。 */ foreach ($files as $file) { //对 $files数组进行遍历,方便对数组里面的文件夹和文件进行复制和删除. if (in_array($file, array( '.', '..' ))) { // array('.','..')新建了一个只有.和..的数组,并且查找$file里面知否有.和..这2个值 continue; } $subFrom = $from . '/' . $file; //把遍历后的文件夹或者文件名变成一个新的路径 $subTo = $to . '/' . $file; if (is_dir($subFrom)) { @mkdir($subTo); //判断$subFrom是不是一个目录,如果是目录就在目标的目录下面,新建一个目录 moveDir($subFrom, $subTo); //递归执行新建目录。 } else { //不是目录的话,就直接复制文件.复制完就删除文件. copy($subFrom, $subTo); unlink($subFrom); //删除所有文件 } @rmdir($subFrom); //删除所有的目录 } return true; } ?> moveDir('C:/Users/Administrator/Desktop/0704','e:');//在这传递你要移动的文件或者目录的地址
方法二,rename
1.对于文件,rename可以在不同盘符之间移动.
2.对于空文件夹,rename也可以在不同盘符之间移动.但是目标文件夹的父目录必须存在.
3.对于非空文件夹,只能在同一盘符下移动.不过,1和3,应该差不多能够对付所有的应用情况了.
<?php rename("D:/testdir/test", "F:/totestdir/mydir"); ?>
对于一个40M的文件,copy+unlink方式需要7.6249899864197秒,而rename方式,只需要0.024738788604736,快300倍.
例
<?php //定义一个变量,保存文件名 $file = "html/cache.txt"; $rename = "html/renameCache.txt"; //使用rename()函数重命名一个文件 if (rename($file, $rename) == TRUE) { echo "重命名文件成功!"; } else { echo "重命名文件失败!"; } //使用rename()函数移动文件,并改名 rename("html/renameCache.txt", "html/a/2.txt"); //使用rename()函数重命名目录 rename("html", "cache"); //使用rename()函数移动目录到目标目录 rename("b", "cache/b"); ?>
文章链接:
随便收藏,请保留本文地址!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

1. La différence entre Iterator et foreach est la différence polymorphe (la couche inférieure de foreach est Iterator). Iterator est un type d'interface, et il ne se soucie pas du type de collection ou de tableau ; de la collection en premier, et même le type d'éléments dans la collection ; 1. Pourquoi dit-on que la couche inférieure de foreach est le code écrit par Iterator : Code décompilé : 2. La différence entre supprimer dans foreach et iterator. dans le manuel de développement Java d'Alibaba, mais aucune erreur ne sera signalée dans le cas 1, et une erreur sera signalée dans le cas 2 (java. util.ConcurrentModificationException) en premier

Les étapes permettant à PHP de déterminer le numéro de la boucle foreach : 1. Créez un tableau de "$fruits" ; 2. Créez une variable de compteur "$counter" avec une valeur initiale de 0. 3. Utilisez "foreach" pour boucler. à travers le tableau, et augmentez la valeur de la variable compteur dans le corps de la boucle, puis affichez chaque élément et son index ; 4. Affichez la valeur de la variable compteur en dehors de la boucle "foreach" pour confirmer quel élément atteint la boucle.

Cet article expliquera en détail comment PHP renvoie un tableau après avoir inversé la valeur de la clé. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP Key Value Flip Array Key Value Flip est une opération sur un tableau qui échange les clés et les valeurs du tableau pour générer un nouveau tableau avec la clé d'origine comme valeur et la valeur d'origine comme clé. Méthode d'implémentation En PHP, vous pouvez effectuer un retournement clé-valeur d'un tableau via les méthodes suivantes : Fonction array_flip() : La fonction array_flip() est spécialement utilisée pour les opérations de retournement clé-valeur. Il reçoit un tableau en argument et renvoie un nouveau tableau avec les clés et les valeurs échangées. $original_array=[

Cet article expliquera en détail l'élément actuel du tableau renvoyé par PHP. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Récupérer l'élément actuel dans un tableau PHP PHP fournit une variété de méthodes pour accéder et manipuler les tableaux, notamment obtenir l'élément actuel dans un tableau. Ce qui suit présente plusieurs techniques couramment utilisées : 1. Fonction current() La fonction current() renvoie l'élément actuellement pointé par le pointeur interne du tableau. Le pointeur pointe initialement vers le premier élément du tableau. Utilisez la syntaxe suivante : $currentElement=current($array);2.key() fonction key() la fonction renvoie l'élément actuellement pointé par le pointeur interne du tableau

Différences : 1. for parcourt chaque élément de données via l'index, tandis que forEach parcourt les éléments de données du tableau via le programme sous-jacent JS ; 2. for peut terminer l'exécution de la boucle via le mot-clé break, mais forEach ne le peut pas ; .for peut contrôler l'exécution de la boucle en contrôlant la valeur de la variable de boucle, mais forEach ne peut pas ; 4. for peut appeler des variables de boucle en dehors de la boucle, mais forEach ne peut pas appeler des variables de boucle en dehors de la boucle ; est supérieur à forEach.

Comment parcourir les propriétés d'un objet à l'aide de la fonction forEach ? En JavaScript, nous devons souvent parcourir les propriétés des objets. Si vous souhaitez utiliser une manière concise pour parcourir les propriétés d'un objet, la fonction forEach est un très bon choix. Dans cet article, nous expliquerons comment utiliser la fonction forEach pour parcourir les propriétés d'un objet et fournirons des exemples de code spécifiques. Tout d’abord, comprenons l’utilisation de base de la fonction forEach. la fonction forEach est Java

En PHP, l'instruction foreach est largement utilisée pour parcourir des tableaux et des objets. Pendant la boucle, nous avons parfois besoin de récupérer l'élément courant de la boucle. Cet article explique comment obtenir la valeur d'index de l'élément actuel dans la boucle PHP foreach.

Présentation de l'interface Map L'interface Map est une structure de données utilisée pour stocker des paires clé-valeur dans l'infrastructure de collection Java. Il vous permet d'utiliser des clés pour rechercher et récupérer les valeurs associées. L'interface Map fournit de nombreuses méthodes utiles, notamment put(), get(), remove(), containKey(), containValue(), size(), isEmpty(), etc. Implémentation de Map Les implémentations de Map les plus couramment utilisées en Java sont HashMap et TreeMap. HashMap est une implémentation de Map basée sur une table de hachage qui recherche et récupère rapidement les valeurs en calculant la valeur de hachage de la clé. TreeMap est une implémentation de Map basée sur des arbres rouge-noir, qui trie les clés par ordre croissant ou décroissant.
