Home >Backend Development >PHP Tutorial >Questions and Answers on Life Tips Questions and Answers on PHP File Operation Methods

Questions and Answers on Life Tips Questions and Answers on PHP File Operation Methods

WBOY
WBOYOriginal
2016-07-29 08:36:41968browse

Q&A on operating files in PHP
Foreword:
PHP has support for the operation of various databases, and there are also rich operating methods for file operations. Many friends’ current operations are still based on file operations, but sometimes when operating files There are still a lot of confusions and doubts. 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", "Parameter"), 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 this file. You can also use the touch Linux command to create it.
Q: Why can't I create the 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 that the directory where the file you want to write in your PHP file must have write permission, that is, the other group must have write permission after logging in to your FTP software.
If not, please modify the permission and try again
Q: How to read the file into an array?
Answer: Use the file function
Q: How to read out 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.
Q: 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 that the WEB page you want to read is accessible.
Q: How can I get it? File related properties?
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.
Q: After opening a file in PHP, can I position the file "cursor" like C?
Answer: Yes, use fseek();
Q: 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(); please refer to the manual for detailed parameters and usage methods
Question: How to delete the first line in the file, or specify A row 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)
$filename="test.dat";//Define the operation file
$delline=3; //The number of lines to be deleted
if(!file_exsits($filename)){
die("The specified file is not Found! Operation interrupted!");
}
$farray=file($filename);//Read file data into array
for($tmpa=0;$Tmpaif(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 also provides you with Other related reminders for file operations~
Question: When I try to open a file that does not exist, how do I prevent the error from being displayed 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 error_reporting (usually at the top of the page) before the step you want to operate. (0); 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 am using a virtual host, how can I prevent other users from stealing my data?
Answer: It is recommended that ISP modify the 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.
Q: Why can’t I delete these files when I log in with FTP to delete them after I create them with PHP? ?
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 chmod, unlink, etc. of the PHP program. It is recommended that users remember the chmod file permissions when using PHP to create files. The recommended value is 777
Q: 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 to change the file name?
Answer: rename();
Q: How to delete files?
Answer: unlink(); exec("del(rm -vf) filename");
Note: rm -vf is for use 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 based on deleting the content.
I hope you can look up and change my continue above to replace the variable data:)

The above introduces the Q&A on the complete collection of daily common sense and the Q&A on PHP file operation methods, including the Q&A on the comprehensive collection of daily common sense. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn