Foreword:
PHP supports the operations of various databases, and also has a wealth of operation methods for file operations. Many friends' current operations are still based on file operations, but sometimes there are still a lot of confusions and doubts when operating files. , the following is a collection of some problems about file operations that I encountered in my daily writing process and that my friends on the forum encountered.
Q: How to create a new file?
Answer:
1. Use fopen (the file name to be created, parameters), the parameters can be w, w+, a, a+
2. Use exec (echo '' > the file name to be created); this is to use the system method to create the file , you can also use the touch Linux command to create
Q: Why can’t I create a file?
Answer:
1. If you use fopen to create a file, are you using the parameters correctly?
2. For system permission issues, please ask your WEBMASTER whether your FTP directory has write permissions.
3. For FTP permission issues, you need to confirm your PHP The directory where the file is to be written must have write permission, that is, after logging in to your FTP software, the other group must have write permission.
If not, please modify the permissions and try
to ask: How to read the file into an array?
Answer: Use the file function.
Question: How to read all the files?
answer:
1. Use fread($fp);
2. If your PHP version >= 4.3.0, you can use file_get_contents();
Q: How to determine whether the file exists?
Answer: Use file_exists();
Ask again: Why not use fopen() to judge?
Answer: The reason is that sometimes the data returned by fopen leads us to wrong judgments due to permission issues.
Question: Why does an error occur when I read a WEB page?
Answer:
1. It may be that your passing parameters are wrong. When reading a WEB page, you can only use r mode to read the page.
2. Make sure that the WEB page you want to read is accessible.
Question: How can I get the relevant attributes of the file? ?
Answer: PHP provides a set of methods to obtain file attributes, such as filemtime(), fileowner(), filegroup(), filectime(), fileatime()... Please refer to the manual for detailed usage.
Question: After opening a file in PHP, can I position the file "cursor" like C?
Answer: Yes, use fseek();
Question: I want to prevent others from accessing the file when accessing it. What should I do?
Answer:
1. You can use other programs to restrict users from accessing the page for file operations.
2. Use flock(); for detailed parameters and usage methods, please refer to the manual.
Question: How to delete the first line in the file, or specify a line of data?
Answer:
PHP does not provide such an operation method, but we can use it in combination. The following code demonstrates that we will delete the third line of data in the file test.dat (the data in the test.dat file has more than three lines)
<?php
$filename=test.dat; //Define the operation file $delline=3; //The number of lines to be deleted if(!file_exsits($filename)){
die(The specified file was not found! The operation is interrupted!);
}
$farray=file($filename);//Read file data into the array for($tmpa=0;$Tmpa<count($farray);$Tmpa++){
if(strcmp($Tmpa+1,$delline)==0){
//Judge deleted rowscontinue;
}
//Rearranged data $newfp.=$farray[$Tmpa].\r\n;
}
$fp=@fopen($filename,a ) or die(Failed to open file $filename in writing mode);//We open the file in writing mode @fputs($fp,$newfp) or die(Failed to write file);
@fclose($fp);
?>
The above code demonstrates deleting a line of files, but if you look carefully, it actually provides you with relevant reminders for other file operations~
Question: When I try to open a file that does not exist, how can I not Let the error show up to avoid leaking my path! !
Answer: Add the @ symbol before the method you want to open the file to block errors. @ is a special symbol provided by PHP to block error messages. Or you can add (usually at the top of the page) error_reporting(0) before the step you want to operate. ); is used to block the display of all error messages on the page. A not recommended method is to modify php.ini (except ISP).
Q: I'm using a virtual host, how do I prevent other users from stealing my data?
Answer: It is recommended that ISP modify open_basedir in php.ini for restrictions. The not recommended ISP setting is to add file operations such as fopen and file to disable_function.
Question: Why can’t I delete these files after I use PHP to delete them when I log in via FTP? ?
Answer: Mainly because the files created by PHP belong to the WEB user group, that is, the files created do not belong to your FTP user! ! ! The solution to this problem is to use the chmod, unlink, etc. methods of the PHP program. It is recommended that users remember the chmod file permissions when using PHP to create files. The recommendation is 777.
Question: How to use text files as data warehouses? Some guestbooks, forums, etc. all use this!
Answer: In fact, this mainly uses file and is a typical example of data reading and segmentation combined with explode.
Q: How do I change the file name?
Answer: rename();
Q: How to delete files?
Answer: unlink(); exec(del(rm -vf) filename);
Note: rm -vf is used under Linux.
Question: How to clear the file?
Answer: Use fopen(filename,w); or exec(echo '' > filename);
Q: How to edit the file content?
Answer: I remember I once answered a question about deleting file content. In fact, editing the content only requires variable substitution on the basis of deleting the content. I hope you can look up and change my continue above to replace the variable data.