《php基础教程》——4文件和目录 学习总结
一、写入文件:
$fp = fopen(filename, mode);
mode 为打开文件方式比如 ‘a+’表示读写文件,文件不存在则创建,新数据主加到文件尾部
fwrite($fp,写入内容);
fclose($fp);
二、锁定文件:当有多个用户同时对文件操作时保证不出现冲突
fclock($fp, 锁定类型); //锁定类型包括写入独享、读取共享……
三、读取文件:
$data = file('文件路径');
将读取的数据放到data数组内,每个元素为文件的一行。
编码测试:ws.php:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title><base> <?phpif (isset($_POST['submitted'])) { if (!empty($_POST['quote']) && ($_POST['quote'] != "enter your quotation here")){//Write the data to file. $fp = fopen('../test.txt','a+'); flock($fp, LOCK_EX);// lock the file fwrite($fp, $_POST['quote']); flock($fp, LOCK_UN);// unlock fclose($fp); //read the file's content to an array $data: $data = file('../test.txt'); print '<p style = "color: red;"> data[0]:\n ' .$data[0]. ''; } else{ print 'please enter your quotation'; }}?>
This is the foot of the document
测试裁图:
起始:
结果:
五、处理文件上传:
1.form标签必须包含:enctype="multipart/form-data",表单必须用post方法
2.必须添加一个隐藏输入框,建议浏览器最大上传文件大小(以字节计)
3.创建表单字段
代码测试:ws.php:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>test</title><base> <?phpif (isset($_POST['submitted'])) { if (move_uploaded_file($_FILES['thefile']['tmp_name'],"../uploads/{$_FILES['thefile']['name']}")){ print '<p>your file is upload!'; } else{ $errors = $_FILES['thefile']['error']; print $errors; }}?>
This is the foot of the document
六、目录
1.导航目录:
查找目录中所有内容:scandir();
eg: $stuff = scandir('目录名');//函数返回一个数组,包含目录中的文件和目录,复制给$stuff
2.创建目录:
mkdir( '路径名' );

PHPsessionscanstorestrings,numbers,arrays,andobjects.1.Strings:textdatalikeusernames.2.Numbers:integersorfloatsforcounters.3.Arrays:listslikeshoppingcarts.4.Objects:complexstructuresthatareserialized.

TostartaPHPsession,usesession_start()atthescript'sbeginning.1)Placeitbeforeanyoutputtosetthesessioncookie.2)Usesessionsforuserdatalikeloginstatusorshoppingcarts.3)RegeneratesessionIDstopreventfixationattacks.4)Considerusingadatabaseforsessionstoragei

Session regeneration refers to generating a new session ID and invalidating the old ID when the user performs sensitive operations in case of session fixed attacks. The implementation steps include: 1. Detect sensitive operations, 2. Generate new session ID, 3. Destroy old session ID, 4. Update user-side session information.

PHP sessions have a significant impact on application performance. Optimization methods include: 1. Use a database to store session data to improve response speed; 2. Reduce the use of session data and only store necessary information; 3. Use a non-blocking session processor to improve concurrency capabilities; 4. Adjust the session expiration time to balance user experience and server burden; 5. Use persistent sessions to reduce the number of data read and write times.

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHPidentifiesauser'ssessionusingsessioncookiesandsessionIDs.1)Whensession_start()iscalled,PHPgeneratesauniquesessionIDstoredinacookienamedPHPSESSIDontheuser'sbrowser.2)ThisIDallowsPHPtoretrievesessiondatafromtheserver.

The security of PHP sessions can be achieved through the following measures: 1. Use session_regenerate_id() to regenerate the session ID when the user logs in or is an important operation. 2. Encrypt the transmission session ID through the HTTPS protocol. 3. Use session_save_path() to specify the secure directory to store session data and set permissions correctly.

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Chinese version
Chinese version, very easy to use

SublimeText3 Linux new version
SublimeText3 Linux latest version

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
