Constantes pour...LOGIN

Constantes pour les fonctions de fichiers courantes

La constante suivante est la plus couramment utilisée. Est une constante qui est le délimiteur du répertoire de fichiers.

Regardons le format :


QQ截图20161009110829.png


Le format du chemin de Windows est d:xxxxxx Remarque : Windows prend en charge d:/xxx/xxx
Le format du chemin de Linux est /home/xxx/xxx Remarque : Si homexxxxxx est incorrect sous Linux
Ainsi, lorsque vous activez l'échappement, etc. , Si les caractères d'échappement sont utilisés ensemble, d:xxxxxx est le même. Lors du jugement, il y en a deux. S'il y en a, convertissez-les en un seul, puis remplacez / pour diviser le chemin, afin que les chemins sous Linux ou Windows puissent rester unifiés.

Nous utiliserons une constante :
DIRECTORY_SEPARATOR

Écrivons un petit exemple pour définir le chemin du fichier actuel :

Puisque FILE est un préréglage de constantes PHP sont définis, il n'y a donc aucun moyen de les modifier. Si nécessaire, FILE peut également s'adapter au système d'exploitation.
Alors n'utilisez pas FILE. Vous pouvez utiliser des constantes personnalisées et traiter FILE, comme suit :

<?php
$_current_file = str_replace(array('/', '\'), DIRECTORY_SEPARATOR, __FILE__);
define('__CUR_FILE__', $_current_file);
 echo __CUR_FILE__;
 ?>

Fonction d'opération de pointeur de fichier

rewind (ressource handle)

Fonction : Le pointeur revient au début

fseek (ressource handle, int offset [, int from_where])
Fonction : Le pointeur de fichier recule Spécifiez caractères

Dans la lecture précédente, nous avons constaté que fread lit les données de la longueur spécifiée. Lisez le contenu de la longueur spécifiée la prochaine fois que vous le lisez, commencez à partir de la position d'origine, puis lisez à rebours.

                                                                                            🎜>2 . lire de A à CQQ截图20161009110843.png

3. La prochaine fois que vous l'ouvrirez, vous pourrez commencer à lire à partir de la flèche verte de C.

Nous écrivons un lot de fichiers dans le fichier demo.txt :

abcdeefghijklk

opqrst

uvwxyz

12345678

Nous pouvons commencer à expérimenter .

<?php
$fp = fopen('output.txt', 'r+');
//读取10个字符
echo fread($fp,10);
 
//指针设置回到开始处
rewind($handle);
//再读取10次看看输出的是什么
echo fread($fp,10);
 
//文件指针向后移动10个字符
echo fseek($fp,10);
 
//再看看文件中输出的是什么
echo fread($fp,10);
 
fclose($handle);
?>

Dans l'exemple ci-dessus, vous constaterez que fseek déplace autant d'octets que la longueur spécifiée. Et le rembobinage revient à chaque fois au début du fichier.

Comment aller au bout ? Nous pouvons compter le nombre d'octets. Déplacez-vous directement vers l’arrière pendant la recherche.

Parlons des octets de statistiques sur la taille des fichiers.

filesize détecte la taille du fichier

<?php
 
 
$filename = 'demo.txt';
echo $filename . '文件大小为: ' . filesize($filename) . ' bytes';
 
?>

Autres fonctions pour exploiter les fichiers

En fait, il existe d'autres fonctions d'exploitation des fichiers, lisez le fichier


Nous utilisons un exemple pour utiliser toutes les fonctions ci-dessus.

Nous écrivons un lot de fichiers dans le fichier demo.txt :

abcdeefghijklk
opqrst
uvwxyz
12345678

<?php
 
//以增加的r模式打开
$fp = fopen('demo.txt','r+');
 
//你分发现每次只读一个字符
echo  fgetc($fp);
 
//我要全部读取可以,读取一次将结果赋值一次给$string
while($string = fgetc($fp)){
 
    echo $string;
 
}
?>

fgets ouvre une ligne à a time :

<?php
 
//以增加的r模式打开
$fp = fopen('demo.txt','r+');
 
//你分发现每次只读一个字符
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);
echo  fgets($fp);
 
?>

Avec le code ci-dessus, vous constaterez que chaque lecture ouvre une ligne à la fois. Le retour final de lecture est faux.

Regardons ensuite la fonction d'interception de fichiers :

<?php
 
//打开我们上面的demo.txt文件
$file = fopen("demo.txt", "a+");
 
//你可以数数20个字有多长,看看是不是达到效果了
echo ftruncate($file,20);
fclose($file);
?>

Dans l'exemple ci-dessus, nous avons constaté que le contenu peut être affiché tant qu'il est intercepté.

QQ截图20161009111024.png

<?php
 
$filename = 'demo.txt';
 
if (file_exists($filename)) {
    echo "$filename文件的上次访问时间是: " . date("Y-m-d H:i:s", fileatime($filename));
 
    echo "$filename文件的创建时间是: " . date("Y-m-d H:i:s", filectime($filename));
 
     echo "$filename文件的修改时间是: " . date("Y-m-d H:i:s", filemtime($filename));
}
?>


section suivante
<?php $filename = 'demo.txt'; if (file_exists($filename)) { echo "$filename文件的上次访问时间是: " . date("Y-m-d H:i:s", fileatime($filename)); echo "$filename文件的创建时间是: " . date("Y-m-d H:i:s", filectime($filename)); echo "$filename文件的修改时间是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?>
soumettreRéinitialiser le code
chapitredidacticiel