Home Backend Development PHP Problem How to upload files and replace them in php

How to upload files and replace them in php

Feb 25, 2021 am 10:06 AM
php

php method to upload files and replace them: first create two files, namely "change.html" and "change.php"; then use "strrchar()" to process the files; then call to determine the file type function and convert it to lowercase; finally upload and replace the file.

How to upload files and replace them in php

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

How to upload image files with php and Replace

First create two files: change.html and change.php

The form code of the change.html file is as follows:

<html>
<head>
<title>change file example.</title>
<meta charset="UTF-8">
</head>
<body>
<form method="post" action="changefile.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
文件:
</td>
<td>
<input name="file" type="file" />
<input type="submit" name="submit" value="submit" />
</td>
</tr>
</table>
</form>
</body>
</html>
Copy after login

There are several requirements here Things to pay attention to, first look at this sentence

. Here we use the POST method. Some browsers also support the PUT method. Of course This requires modifications to the script, which I don't recommend. enctype="multipart/form-data must be set in the form, so that the server knows that the uploaded file contains regular form information. Remember, this must be set. In addition, a hidden field is needed to limit the maximum length of the uploaded file: < ;input type="hidden" name="MAX_FILE_SIZE" value="2000000">, the name here must be set to MAX_FILE_SIZE, the value is the maximum length of the uploaded file, the unit is B, here I limit it to 2M. Look at this sentence again :, type="file" indicates the file type. In this way, a basic file upload interface is completed. Next, let’s talk about how to use PHP to process uploaded files. In addition, the maximum length of uploaded files set in your php.ini may affect your actual upload. Please modify it according to the actual situation. In addition, PHP uploads are first uploaded to a temporary directory and then moved to the specified directory. Yes, yes; the temporary directory can be modified as needed, or the default value can be used...

[Recommended learning: "PHP Video Tutorial"]

The following is the form Submit the change.php file code and take a look at what is in this file:

<?php
header("content-type:text/html;charset=utf-8");
 
/**
* @param string $oldfile 需要更换的文件名(包含具体路径名)
*/
function changeFile($oldfile){
$newfile = $_FILES[&#39;file&#39;][&#39;name&#39;];//获取上传文件名
$fileclass = substr(strrchr($newfile, &#39;.&#39;), 1);//获取上传文件扩展名,做判断用
$type = array("jpg", "gif", "bmp", "jpeg", "png");//设置允许上传文件的类型
if(in_array(strtolower($fileclass), $type)){
if(file_exists($oldfile)){
unlink($oldfile);
}
if(is_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;])){//必须通过 PHP 的 HTTP POST 上传机制所上传的
if(move_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;], $oldfile)){
//输出图片预览
echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src=&#39;$oldfile&#39;></center>";
}
}else{
echo "<center>上传失败,文件大于2M,请重新上传!</center>";
}
}else{
$text = implode(",", $type);
echo "<center>您只能上传以下类型文件:", $text, "</center><br>";
// echo "<script>alert(&#39;您只能上传以下类型文件:$text&#39;)</script>";
}
}
changeFile("./files/1.png");
Copy after login

You may be a little dizzy when you first read this~~, but if you look at it slowly, you will find that this thing is actually SO EASY!! Let’s talk about it first! Based on the following principle, this program takes uploading pictures as an example. It first determines whether the file type is an image format. If so, uploads the file, then uploads the file to and replaces the specified file. If the upload is successful, a preview of the uploaded picture will be output. Here are some functions in the program Let me give you some explanations. Let’s look at substr(strrchr($newfile, '.'), 1) first. What is the function of strrchar()? Let me give you an example. For example, for a picture file pic.jpg, we use strrchar( ) processing, strrchr(pic.jpg,'.'), it will return .jpg, do you understand? This function returns the string after the last position of the specified character in the string. With substr() we can get to jpg, so that we can get the suffix name of the file to determine whether the uploaded file conforms to the specified format. This program puts the specified format in an array, which can be added as needed during actual use.

Next, We call the function to determine the file type and convert it into lowercase strtolower($_FILES['file']['name']). There is a very key thing here $_FILES. This is a super global array that saves the required The processed form data can also be accessed directly if register_globals is turned on, but this is unsafe. Look at the upload interface just now . According to this form name, we can get a lot of information:

$_FILES['file']['name'] -- Get the file name

$_FILES['file']['tmp_name']--Get the temporary storage location

$_FILES['file']['size']--Get File size

$_FILES['file']['type']--Get the file MIME type

With this information, you can easily determine the file information. Isn't it very convenient? Next, there are some functions that need to be understood, file_exists()--determine whether the specified directory exists. If it does not exist, of course we cannot upload it (it seems like nonsense!), is_uploaded_file--determine whether the file has been uploaded through HTTP POST, move_uploaded_file--will upload The file is moved to the specified directory. If the upload is successful, we will output the preview, otherwise the output upload will fail...

The above is the detailed content of How to upload files and replace them in php. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles