1. Setting instructions for file upload in php.ini
2. File Upload Process
(1) Upload file Submission Form HTML code:
Adminstration-upoload New files Upload New files
(2) PHP processing upload file code
① in the PHP script, the data that needs to be processed is stored in the super variable array $_files, and the register_globals instruction can access the information directly through the variable name;
② If the form variable is named "username" there are:
$_files[' UserFile ' [' Tmp_name ']: Store files in a temporary storage location on the Web server;
$_files[' UserFile ' [' Name ']: stores the name of the file in the user's system;
$_files[' userfile ' [' Size ']: The size of the stored file;
$_files[' userfile ' [' type ']: The type of storage file;
$_files[' userfile ' [' ERROR]: Store any error code associated with the file upload;
Description of the error type:
Upload_err_ini_size:1, the uploaded file exceeds the value of the Upload_max_filesize option limit in php.ini.
Upload_err_form_size:2, the size of the uploaded file exceeds the value specified by the Max_file_size option in the HTML form.
Upload_err_partial:3, the file is only partially uploaded.
Upload_err_no_file:4, no files were uploaded.
Upload_err_no_tmp_dir:6, the Temp folder cannot be found. PHP 4.3.10 and PHP 5.0.3 introduced.
Upload_err_cant_write:7, file write failed. PHP 5.1.0 introduced.
③php Code
<?php//Check File Transfer exception if ($_files[' userfile ' [' Error ']>0) {echo ' problem '; switch ($_files[' userfile ' [' Error ']) { Case 1:echo ' File exceeded upload_max_filesize '; Case 2:echo ' File exceeded max_file_size '; Case 3:echo ' File only partially upload '; Case 4:echo ' No file uploaded '; Case 6:echo ' cannot upload file:no temp directory specified '; Case 7:echo ' Upload failed:cannot write to disk '; } exit; }//Verify that the transferred file is a text file if ($_files[' userfile ' [' type ']! = ' Text/plain ') {echo ' problem:file is not plain text '; exit;}//Will upload the text /uploads/(the directory must be separate from the Web document tree) $upfile = '/uploads/'. $_files[' userfile ' [' name ']; Create a new file under the specified directory to transfer the file name if (Is_uploaded_file ($_files[' userfile ' [' tmp_name '])) {if (! Move_uploaded_file ($_files[') UserFile ' [' tmp_name '], $upfile)) {//Move temporary files for transfer files to a new file created echo ' problem:could not move file to destination directory '; exi T }} else{echo ' problem:possible file upload attack. Filename: '; echo $_files[' username ' [' name ']; Exit } EchO "File uploaded seuucessfully
"; Clear HTML and PHP tags for transfer files $contents = file_get_contents ($upfile); Extracts the contents of the file into a string; $contents = Strip_tags ($contents); Erase HTML and tags tags on the string; File_put_contents ($_files[' userfile ' [' name '], $contents); Writes the string back to the file;//Displays the contents of the transmitted text file on the browser echo "Preview of uploaded file contents:
> "; echo nl2br ($contents); echo "
";
3. Using Directory functions
(1) Read the file name from the directory
① uses Opendir (), Readdir (), Closedir () function;
<?php $current _dir = '/uploads/'; Create directory URL Object $dir = Opendir ($current _dir); Opens the table of contents and returns a directory object echo "Upload Directory is $current _dir
"; echo "Directory Listing:
"; while (($file = Readdir ($dir))!== false) {//Read the directory object if ($file! = "." && $file! = "...") {//filter the current directory and the previous level of the directory echo "
- $file
"; echo "". $file. "
"; } } echo "
"; Closedir ($dir); Close a directory;?>
② using the Dir class of PHP
<?php $current _dir = '/uploads/'; Create directory URL Object $dir = Dir ($current _dir); Create the Dir object echo "Handle is $dir->handle
"; echo "Upload Directory is $current _dir
"; echo "Directory Listing:
"; while (($file = $dir->read ())!== false) {//Read the file name under directory through the Dir object if ($file! = "." && $file! = "...") {echo "
- $file
"; } } echo "
"; $dir->close (); Close Directory?>
(2) Use the Scandir () function to sort the alphabet of text names
<?php $current _dir = '/uploads/'; Create a directory URL object $files 1 = scandir ($current _dir); Saves the file name under the specified directory as an array, sorted by default in ascending alphabetical order $files 2 = Scandir ($current _dir,1); Saves the file name under the specified directory as an array, sorted in descending alphabetical order echo "Upload Directory is $current _dir
"; echo "Directory Listing in alphabetical order,ascending:
"; foreach ($files 1 as $file 1) {if ($file 1! = "." && $file 1! = ":") echo "
- $file 1
"; } echo "
";?>
(3) Get additional information about the current directory
DirName ($path): Returns the directory portion of the path;
BaseName ($path): Returns the name part of the path;
Disk_free_space ($path): The disk where the return path is located can save the capacity of the uploaded file;
(4) Creating and deleting catalogs
①mkdir (): Create directory;
Code:
$oldumask = umask (0); Reset Current Permission Code mkdir ("/tmp/testing", 0777); Create directory Umask ($oldumask); Restore Current Permission Code
②rmdir (): Delete directory;
Code:
RmDir ("/temp/testing") or RmDir ("c:\\tmp\\testing");
※ The directory to be deleted must be an empty directory;
4. Interaction with the file system
(1) Get file information:
while (($file = Readdir ($dir))!== false) {echo "". $file. "
";} <?php $current _dir = '/uploads/'; $file = basename ($file); Get file filename echo "Details of File
"; echo "File data
"; Echo ' File last accessed: '. Date (' J F Y h:i ', Fileatime ($file)). "
"; Returns the timestamp of the most recently accessed Echo ' File last modifixed: '. Date (' J F Y h:i ', Filemtime ($file)). "
"; Returns the most recently modified timestamp $user = Posix_getpwuid (Fileowner ($file)); Returns the user ID uid echo ' File owner: '. $user [' name ']. "
"; $group = Posix_getgrgid (Filegroup ($file)); Returns the organization identity GID Echo ' File group: '. $group [' name ']. "
"; Echo ' File permissions: '. Decoct (Fileperms ($file)). "
"; Returns the 8-bit permission code echo ' File type '. FileType ($file). "
"; Return file type echo ' file Size '. FileSize ($file). "
"; Returns the number of file bytes echo "File Tests
"; Echo ' Is_dir? '. (Is_dir ($file)? ' True ': ' false '). "
"; Echo ' Is_executable? '. (Is_executable ($file)? ' True ': ' false '). "
"; Determine if the file is executable; Echo ' Is_file? '. (Is_file ($file)? ' True ': ' false '). "
"; Echo ' Is_link? '. (Is_link ($file)? ' True ': ' false '). "
"; Echo ' Is_readable? '. (Is_readable ($file)? ' True ': ' false '). "
"; Echo ' Is_writable? '. (Is_writable ($file)? ' True ': ' false '). "
";?>
(2) changing file properties
CHGRP (file,group): Change the grouping of files;
chmod (file,permissions): Modify the permissions of the file;
Chown (File,user): Modify the owner of the file;
(3) Create, delete, and move files
BOOL Touch ($filename, [int time,[int atime]): Creates a file (time specifies the creation timestamp, atime specifies an optional timestamp)
Unlink ($filename): Delete a file
Copy ($source _path, $destination _path): Copy a file
Rename ($oldfile, $newfile): rename a file;
(4) Using program execution functions
①string exec (String command[, array result [, int result_value]])
Returns the last line of the named result, which can return the number of character groups that represent each line of the output, Result_value gets the return code;
②void PassThru (String command[, int result_value])
The result is output directly to the browser;
③string System (String command[, int return_value])
Outputs the result to the browser, returning the last line or false of the command result;
※ When the user submits the data including part of the execution order, the following packaging should be carried out:
System (Escapeshellcmd ($command));
5. Interacting with environment variables
Phpinfo () function: Gets a list of all the variables in PHP;
Getenv ("$key _name"):
Setenv ("$key _name= $value");
The above is a small part of the introduction of PHP and the server file system of simple interaction, I hope that we have some help, if you have any questions please give me a message, small series will promptly reply to you. Thank you very much for the support of the Scripting House website!