search
HomeBackend DevelopmentPHP TutorialPHP background and mobile APP interface development example code

PHP background and mobile APP interface development example code

May 29, 2018 am 10:44 AM
phpcodeDevelopment example

This article mainly shares with you the PHP background and mobile APP interface development example code, hoping to help everyone

1. Mobile APP (client) program interface

This is used on PC Use C++ program to simulate POST of HTTP protocol data

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <unistd.h>
using namespace std;

#define DEST_IP "10.209.177.22"
#define DEST_PORT 80
#define MAX_DATA_SIZE 1024

int main()
{
        int ret;
        int sockfd;
        struct sockaddr_in dest_addr;
        memset(&dest_addr, 0x00, sizeof(sockaddr_in));
        dest_addr.sin_family = AF_INET;
        dest_addr.sin_addr.s_addr = inet_addr(DEST_IP);
        dest_addr.sin_port = htons(DEST_PORT);

        cout << "dest addr IP:" << inet_ntoa(dest_addr.sin_addr) << endl;

        sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
        if (sockfd < 0) {
                cout << "create socket fail!" << endl;
                exit(1);
        }

        ret = connect(sockfd, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr));
        if (ret != 0) {
                cout << "connect server fail!" << endl;
                close(sockfd);
                exit(1);
        } else {
                cout << "connect server success!" << endl;
        }
        cout << endl;

        int sendlen, recvlen;
        char sendbuf[MAX_DATA_SIZE] = {0};
        char recvbuf[MAX_DATA_SIZE] = {0};
        string body("user=hello&password=123456");
        int content_length = body.length();
        snprintf(sendbuf, sizeof(sendbuf) - 1,
        "POST /api.php HTTP/1.1\r\n"
        "Host: 10.209.177.22\r\n"
        "Content-Type: application/x-www-form-urlencoded\r\n"
        "Content-Length: %d\r\n",
        content_length
        );
        strcat(sendbuf, "\r\n");
        strcat(sendbuf, body.c_str());

        sendlen = send(sockfd, sendbuf, sizeof(sendbuf), 0);
        if (sendlen < 0) {
                cout << "send fail" << endl;
                close(sockfd);
                exit(1);
        }

        if ((recvlen = recv(sockfd, recvbuf, sizeof(recvbuf), 0)) == -1) {
                cout << "recv fail" << endl;
                close(sockfd);
                exit(1);
        } else {
                cout << recvbuf << endl;
        }

        close(sockfd);

        return 0;
}

2. Background PHP test program

<?php
$input = file_get_contents("php://input");
var_dump($input);

if ($_POST[&#39;user&#39;] == "hello" && $_POST[&#39;password&#39;] == "123456") {
    echo "welcome hello";
} else {
    echo "welcome guest";
}
?>

3. Implementation effect


In the above picture, the client C++ program, after POST data is sent to the background Nginx+PHP, PHP obtains the POST data through the first two methods below:

Method 1. The most common method is: $_POST[' fieldname'];
Note: Only data submitted by Content-Type: application/x-www-form-urlencoded can be received.
Explanation: That is the data POST from the form.

Method 2, file_get_contents("php://input");
Description:
Allows reading the original data of POST.
Compared with $HTTP_RAW_POST_DATA, it puts less pressure on memory and does not require any special php.ini settings.
php://input cannot be used with enctype="multipart/form-data".
Explanation:
For POST data without specified Content-Type, you can use file_get_contents("php://input"); to obtain the original data.
In fact, this method can be used to receive any POST data using PHP. Regardless of Content-Type, including binary file streams is also acceptable.

So using method two is the safest method.

Method 3, $GLOBALS['HTTP_RAW_POST_DATA'];

Description:
Always generate $HTTP_RAW_POST_DATA variable containing the original POST data.
This variable is only generated when data of unrecognized MIME type is encountered.
$HTTP_RAW_POST_DATA is not available for enctype="multipart/form-data" form data
If the posted data is not recognized by PHP, you can use $GLOBALS['HTTP_RAW_POST_DATA'] to receive it,
such as text /xml or soap, etc.
Explanation:
$GLOBALS['HTTP_RAW_POST_DATA'] stores the original data from POST.
$_POST or $_REQUEST stores data formatted by PHP in the form of key=>value.

But whether the POST data is saved in $GLOBALS['HTTP_RAW_POST_DATA'] depends on the setting of Content-Type, that is, when POSTing data, the Content-Type must be explicitly specified: application/x-www -form-urlencoded, POST data will be stored in $GLOBALS['HTTP_RAW_POST_DATA'].

For uploading files, use POST enctype="multipart/form-data". PHP backend code example:

<!DOCTYPE>
<html>
<body>

<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit" value="submit" />
</form>

<?php
echo "<pre class="brush:php;toolbar:false">";
print_r($_FILES);
if ($_FILES["file"]["error"] > 0) {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
} else {
    $file = fopen($_FILES["file"]["tmp_name"], "r");
    while (!feof($file)) {
        echo fgetc($file);
    }
    fclose($file);
}
?>

</body>
</html>

Related recommendations:

What issues need to be paid attention to when developing APP interfaces with PHP

Writing APP interfaces in laravel ( API)

Discussion on the security issues of PHP writing APP interface

The above is the detailed content of PHP background and mobile APP interface development example code. For more information, please follow other related articles on the PHP Chinese website!

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
Where to declare a php function?Where to declare a php function?Jul 23, 2025 am 04:25 AM

Declaring the location of a function in PHP is important because it affects the availability of the function. 1. Functions are most commonly declared in .php files and loaded through include or require when needed; 2. They can be placed on the top of the script or in a dedicated function file, as long as they are defined before calling, it is recommended to centrally manage to improve maintenance; 3. In object-oriented programming, functions can be declared as class methods or in namespace to avoid naming conflicts; 4. The same function cannot be declared repeatedly, and conflicts can be avoided through include_once, require_once or function_exists checks. Ensuring that the function is defined before being called and only once is the key to handling function declarations in PHP.

Do Comments Slow Down PHP?Do Comments Slow Down PHP?Jul 23, 2025 am 04:24 AM

PHP ignores the execution overhead of comments, because comments are discarded during the compilation stage and will not enter the opcode execution process; 2. The only negligible performance impact is the microsecond parsing time when the script is first loaded, and there is almost no impact after OPcache is enabled; 3. Priority should be paid to the real performance bottlenecks such as database queries and loops, rather than the number of comments.

Understanding PHPDoc TagsUnderstanding PHPDoc TagsJul 23, 2025 am 04:24 AM

PHPDoctagsarestructuredannotationsthatdocumentcodeforbetterunderstandingandtoolingsupport;1)@paramdescribesfunctionparameterswithtypeanddescription,2)@returnspecifiesthereturntypeandmeaning,3)@throwsindicatespossibleexceptions,andtogethertheyenhanceI

What are some best practices for naming PHP functions?What are some best practices for naming PHP functions?Jul 23, 2025 am 04:23 AM

In PHP development, function naming should start with a verb to maintain consistency, avoid blurred names, and control length. 1. Use clear verbs such as get, set, calculate, etc. to express behavioral intentions; 2. Use is, has, get and other prefixes for the return value; 3. Follow the project specifications, recommend camelCase to avoid confusing naming style; 4. Avoid abbreviation and vague names, and use complete words to improve readability; 5. The length of the function name is moderate, and it is recommended to be controlled within 3 to 5 words. Too long may require splitting responsibilities.

What are some common mistakes when working with PHP functions?What are some common mistakes when working with PHP functions?Jul 23, 2025 am 04:23 AM

Common function usage errors in PHP development include: 1. Ignore the return value type and error handling, and check the return value and use strict comparison; 2. If the parameter order is wrong or the type does not match, you should consult the document and enable the type declaration; 3. Ignore the difference between reference passing and value passing, and confirm whether the original variable will be modified before use; 4. Confuse variadic function parameters and default parameters, and put the default parameters at the end and verify the variadic parameters.

How to define a php function with optional parameters?How to define a php function with optional parameters?Jul 23, 2025 am 04:23 AM

Defining functions with optional parameters in PHP can be implemented through parameter default values. 1. Specify the default value for the parameter when defining the function. If it is not passed in during the call, the default value is used. Parameters with default values must be placed after the parameter without default value; 2. Default values can be set separately by multiple optional parameters. Parameters must be passed in sequence when calling, and intermediate parameters cannot be skipped; 3. When there are many parameters, parameters can be passed in arrays, and the default values and incoming values can be combined to improve flexibility and maintainability.

php function to trim whitespace from a stringphp function to trim whitespace from a stringJul 23, 2025 am 04:22 AM

In PHP, the trim() function can remove whitespace characters at both ends of the string. If you need to remove non-whitespace characters, you can specify it through the second parameter. When only one-sided whitespace is removed, ltrim() or rtrim() can be used. To remove excess whitespace inside the string, you need to combine regular expressions to use the preg_replace() function. trim() removes spaces, tabs, newlines and empty bytes by default, and does not affect the content in the middle of the string. ltrim() is used to remove the left blank, rtrim() is used to remove the right blank, and the regular expression '/\s /' can match any consecutive whitespace characters and replace them with a single space to achieve internal whitespace cleaning.

What is a variadic php function?What is a variadic php function?Jul 23, 2025 am 04:22 AM

The way to define mutable parameter functions in PHP is to use the... operator, which allows the function to accept any number of parameters. 1. Add... before function parameters, such as functionsum(...$numbers), and the parameters will be stored in an array. 2. Variable parameter functions are suitable for mathematical operations, string splicing, routing or event processing scenarios. 3. For versions before PHP5.6, variadic parameter behavior can be simulated through func_get_args(), func_num_args() and func_get_arg(). For example logMessages("Userloggedin","Sessio

See all articles

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

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.

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

MantisBT

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.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.