PHP prend en charge les opérations de diverses bases de données et dispose également d'une multitude de méthodes d'opération pour les opérations sur les fichiers. Les opérations actuelles de nombreux amis sont toujours basées sur des opérations sur les fichiers, mais il y a parfois encore beaucoup de confusion et de doutes lors de l'exploitation des fichiers, ce qui suit. est une collection de quelques problèmes concernant les opérations sur les fichiers que j'ai rencontrés dans mon processus d'écriture quotidien et que mes amis sur le forum ont rencontrés.
Q : Comment créer un nouveau fichier ?
Réponse : 1. Utilisez fopen("Nom du fichier à créer", "Paramètres"), les paramètres peuvent être w, w+, a, a+
2. Utilisez exec("echo '' > file name to be create"); Il s'agit d'utiliser la méthode système pour créer le fichier. Vous pouvez également utiliser la commande touch Linux pour le créer.
Question : Pourquoi ne puis-je pas créer. le dossier ?
Réponse : 1. Si vous utilisez fopen pour créer un fichier, utilisez-vous correctement les paramètres ?
2. Pour les problèmes d'autorisation système, veuillez demander à votre WEBMASTER si votre répertoire FTP dispose d'autorisations en écriture.
3. Problème d'autorisation FTP. Vous devez confirmer que le répertoire dans lequel le fichier dans lequel votre fichier PHP est écrit doit avoir une autorisation en écriture. Autrement dit, après vous être connecté à votre logiciel FTP, l'autre groupe doit avoir une autorisation en écriture.
Sinon, veuillez modifier les autorisations et essayez
de demander : Comment lire le fichier dans un tableau ?
A : Utiliser le fichier
Q : Comment lire tous les fichiers ?
Réponse : 1. Utilisez fread($fp);
2. Si votre version PHP >= 4.3.0, vous pouvez utiliser file_get_contents();
Q : Comment déterminer si le fichier existe ?
Réponse : utilisez file_exists(); pourquoi ne pas utiliser fopen() pour juger ? La raison en est que parfois les données renvoyées par fopen nous conduisent à des jugements erronés en raison de problèmes d'autorisation.
Question : Pourquoi une erreur se produit-elle lorsque je lis une page WEB ?
Réponse : 1. Il se peut que vos paramètres de transmission soient erronés Lors de la lecture d'une page WEB, vous ne pouvez utiliser que le mode r pour lire la page.
2. Assurez-vous que la page WEB que vous souhaitez lire est accessible.
Question : Comment puis-je obtenir les attributs pertinents du fichier ?
Réponse : PHP fournit un ensemble de méthodes pour obtenir des attributs de fichier, tels que filemtime(), fileowner(), filegroup(), filectime(), fileatime()... Veuillez vous référer au manuel pour une utilisation détaillée.
Question : Après avoir ouvert un fichier en PHP, puis-je positionner le "curseur" du fichier comme C ?
Réponse : Oui, utilisez fseek();
Question : Je souhaite empêcher les autres d'accéder au fichier lorsque j'y accède. Que dois-je faire ?
Réponse : 1. Vous pouvez utiliser d'autres procédures pour empêcher les utilisateurs d'accéder aux pages pour les opérations sur les fichiers.
2. Utilisez flock(); veuillez vous référer au manuel pour les paramètres détaillés et les méthodes d'utilisation.
Question : Comment supprimer la première ligne du fichier ou spécifier une ligne de données ?
Réponse : PHP ne fournit pas une telle méthode de fonctionnement, mais nous pouvons l'utiliser en combinaison. Le code suivant montre que nous supprimerons la troisième ligne de données (test.datw) dans le fichier « test.dat ».
Il y a plus de trois lignes de données dans le fichier)
<?php
$filename="test.dat"; //Définir le fichier d'opération
$delline=3; //Le nombre de lignes à supprimer
if(!file_exsits($filename)){
die("Le fichier spécifié n'a pas été trouvé ! Opération interrompue !");
}
$farray=file($filename);//Lire les données du fichier dans un tableau
pour($tmpa=0;$Tmpa<count($farray);$Tmpa++){
si(strcmp($Tmpa+1,$delline)==0){
// Détermine les lignes supprimées
continuer;
}
//Données réorganisées
$newfp.=$farray[$Tmpa]."rn";
}
$fp=@fopen($filename,"a ") ou die("Échec de l'ouverture du fichier $filename en mode écriture");//Nous ouvrons le fichier en mode écriture
@fputs($fp,$newfp) ou die("Échec de l'écriture du fichier");
@fclose($fp);
?>
Le code ci-dessus montre la suppression d'une ligne de fichiers, mais si vous regardez attentivement, il vous fournit en fait des rappels pertinents pour d'autres opérations sur les fichiers ~
Question : Lorsque j'essaie d'ouvrir un fichier qui n'existe pas, comment puis-je ne pas laisser le une erreur s'affiche pour éviter de divulguer mon chemin ! !
Réponse : Ajoutez le symbole @ avant la méthode par laquelle vous souhaitez ouvrir le fichier pour bloquer les erreurs. @ est un symbole spécial fourni par PHP pour bloquer les messages d'erreur. Vous pouvez également ajouter (généralement en haut de la page) error_reporting(0) avant. l'étape que vous souhaitez opérer. ); Utilisé pour bloquer l'affichage de tous les messages d'erreur sur la page. Une méthode non recommandée est de modifier le php.ini (sauf FAI).
Question : J'utilise un hôte virtuel. d'autres utilisateurs de voler mes données ?
Réponse : Il est recommandé au FAI de modifier open_basedir dans php.ini pour les restrictions. Le paramètre FAI non recommandé consiste à ajouter des opérations de fichier telles que fopen et file à Disable_function.
Question : Pourquoi ne puis-je pas supprimer ces fichiers après avoir utilisé PHP pour les supprimer lorsque je me connecte via FTP ? ?
Réponse : Principalement parce que les fichiers créés par PHP appartiennent au groupe d'utilisateurs WEB, c'est-à-dire que les fichiers créés n'appartiennent pas à votre utilisateur FTP ! ! ! La solution à ce problème consiste à utiliser les méthodes chmod, unlink, etc. du programme PHP. Il est recommandé aux utilisateurs de se souvenir des autorisations du fichier chmod lorsqu'ils utilisent PHP pour créer des fichiers. La recommandation est 777.
Question : Comment utiliser des fichiers texte. comme entrepôts de données ? Certains livres d'or, forums, etc. l'utilisent tous !
Réponse : En fait, cela utilise principalement un fichier et constitue un exemple typique de lecture et de segmentation de données combinées à une explosion.
Q : Comment puis-je modifier le nom du fichier ?
Réponse : rename();
Q : Comment supprimer des fichiers ?
Réponse : unlink(); exec("del(rm -vf) filename"); Remarque : rm -vf est utilisé sous Linux
Question : Comment effacer le fichier ?
Réponse : Utilisez fopen(filename,"w"); ou exec("echo '' > filename");
Q : Comment modifier le contenu d'un fichier ?
Réponse : Je me souviens avoir répondu une fois à une question sur la suppression du contenu d'un fichier. En fait, la modification du contenu ne nécessite qu'une substitution de variable sur la base de la suppression du contenu. J'espère que vous pourrez rechercher et modifier mon message ci-dessus pour remplacer les données variables.