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("File name to be created", "Parameters"), the parameters can be w, w+, a, a+
2. Use exec("echo '' > 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 it.
Question: Why can't I create the file?
Answer: 1. If you use fopen to create a file, do you use the parameters correctly?
2. For system permission issues, please ask your WEBMASTER whether your FTP directory has write permissions.
3. FTP permission problem. You need to confirm that the directory where the file where your PHP file is 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?
A: Use file
Q: How to read all 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(); why not use fopen() to judge? 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 transmission parameters are wrong. When reading a WEB page, you can only use r mode to read the page.
2. Make sure the WEB page you want to read can be accessed.
Question: How can I obtain 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 procedures to restrict users from accessing pages for file operations.
2. Use flock(); please refer to the manual for detailed parameters and usage methods.
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 (test.datw) in the file "test.dat"
There are more than three lines of data in the file)
<?php
$filename="test.dat"; //Define operation file
$delline=3; //The number of rows to be deleted
if(!file_exsits($filename)){
die("The specified file was not found! Operation interrupted!");
}
$farray=file($filename);//Read file data into array
for($tmpa=0;$Tmpa<count($farray);$Tmpa++){
if(strcmp($Tmpa+1,$delline)==0){
//Determine deleted rows
continue;
}
//Rearranged data
$newfp.=$farray[$Tmpa]."rn";
}
$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("File writing failed");
@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. ); Used to block the display of all error messages on the page. A not recommended method is to modify php.ini (except ISP).
Question: I am using a virtual host. How can 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 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.