찾다
백엔드 개발PHP 튜토리얼php接收post数据并写入mysql问题

求专家解答:php如何接收远程post过来的txt文本内容并同时写入mysql数据库呢?求完整代码!合适可加分!
txt文本内容字段格式:
学生id、学生名字、学生邮箱、学生地址


回复讨论(解决方案)

数据表:

CREATE TABLE `student` (  `id` int(10) unsigned NOT NULL auto_increment,  `xid` varchar(20) NOT NULL,  `name` varchar(20) NOT NULL,  `email` varchar(100) NOT NULL,  `address` varchar(100) NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


postdemo.php
<?php// 连接数据库  $conn=@mysql_connect("数据库ip","帐号","密码")  or die(mysql_error());  @mysql_select_db('数据库名',$conn) or die(mysql_error());  $action = isset($_REQUEST['action'])? $_REQUEST['action'] : '';if($action=='add'){    $xid = isset($_POST['xid'])? mysql_escape_string($_POST['xid']) : '';    $name = isset($_POST['name'])? mysql_escape_string($_POST['name']) : '';    $email = isset($_POST['email'])? mysql_escape_string($_POST['email']) : '';    $address = isset($_POST['address'])? mysql_escape_string($_POST['address']) : '';    if($xid=='' || $name=='' || $email=='' || $address==''){        echo 'please input data';        exit();    }    $sqlstr = "insert into student(xid,name,email,address) values('".$xid."','".$name."','".$email."','".$address."')";    mysql_query($sqlstr) or die(mysql_error());    header('location:postdemo.php');}else{?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <meta http-equiv="content-type" content="text/html; charset=utf-8">  <title>demo</title> </head> <body>  <form name="form1" method="post" action="postdemo.php">  <p>学生id:<input type="text" name="xid"></p>  <p>学生名字:<input type="text" name="name"></p>  <p>学生邮箱:<input type="text" name="email"></p>  <p>学生地址:<input type="text" name="address"></p>  <p><input type="hidden" name="action" value="add"><input type="submit" name="b1" value="提交"></p>  </form> <?php    $sqlstr = "select * from student order by id";    $query = mysql_query($sqlstr) or die(mysql_error());    $result = array();    while($thread=mysql_fetch_assoc($query)){        $result[] = $thread;    }    if($result){        echo '<table>';        echo '<th>NO</th><th>学生id</th><th>学生名字</th><th>学生邮箱</th><th>学生地址</th>';        foreach($result as $row){            echo '<tr>';            echo '<td>'.$row['id'].'</td>';            echo '<td>'.$row['xid'].'</td>';            echo '<td>'.$row['name'].'</td>';            echo '<td>'.$row['email'].'</td>';            echo '<td>'.$row['address'].'</td>';            echo '</tr>';        }        echo '</table>';    } ?>   </body></html><?php}?>

谢谢专家解答,有个地方没有表述清楚,txt文本内容非表单提交,是由远程客户端直接post过来整个txt文件,例如:
post的文件名:good.txt
文件内容:
001
王军
wangjun@126.com
山东省青岛市滨海路2号

请问专家,后台的接收代码是不是有变化?
使用php怎么模拟post good.txt文件给后台?
先在此谢过啦

只要是使用post方式提交的数据,都能够使用$_POST['变量名']的方式接收.

<?php$content = file_get_contents('php://input');?>

模拟文件上传?

干嘛非要用文件

用正则匹配找出对应数据

你是要上?一?txt文件,然後服?器把txt的?容?入??????

fdipzone专家好,我没有表述清楚,现重新梳理:txt文件非表单提交,是远程的客户端post过来一个txt文件,并写入mysql数据库。
例如:post的文件名:good.txt,文件内容
001
王军
wangjun@126.com
山东省青岛市滨海路2号

由于是远程客户端直接post good.txt文件,所以提交的数据没有变量名,而是直接的字符串,是不是不能用$_POST接收?

文件流吗?
下面的例子将完成php post文件流,接收文件流,分析文件流,写入数据库四个步骤
1.conn.php 用于连接数据库
2.list.php 用于显示数据库表记录
3.add.php 用于接收流文件并分析写入数据库
4.post.ph 用于发送流文件
5.good.txt 文件,用来发送用,内容是

001王军wangjun@126.com山东省青岛市滨海路2号

假设以上文件都放在根目录,可以用http://localhost/文件名 访问到。

首先创建数据库
CREATE TABLE `student` (  `id` int(10) unsigned NOT NULL auto_increment,  `xid` varchar(20) NOT NULL,  `name` varchar(20) NOT NULL,  `email` varchar(100) NOT NULL,  `address` varchar(100) NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


conn.php
<?php// 连接数据库  $conn=@mysql_connect("数据库host","帐号","密码")  or die(mysql_error());  @mysql_select_db('数据库名',$conn) or die(mysql_error());  ?>


list.php
<?phprequire "conn.php";?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head>  <meta http-equiv="content-type" content="text/html; charset=utf-8">  <title>demo</title> </head>  <body>  <?php    $sqlstr = "select * from student order by id";    $query = mysql_query($sqlstr) or die(mysql_error());    $result = array();    while($thread=mysql_fetch_assoc($query)){        $result[] = $thread;    }     if($result){        echo '<table>';        echo '<th>NO</th><th>学生id</th><th>学生名字</th><th>学生邮箱</th><th>学生地址</th>';        foreach($result as $row){            echo '<tr>';            echo '<td>'.$row['id'].'</td>';            echo '<td>'.$row['xid'].'</td>';            echo '<td>'.$row['name'].'</td>';            echo '<td>'.$row['email'].'</td>';            echo '<td>'.$row['address'].'</td>';            echo '</tr>';        }        echo '</table>';    }  ?>    </body></html>


add.php
<?phprequire "conn.php";$tmpfile = 'tmp.txt'; // 临时文件,用于保存接收到的文件流$content = $GLOBALS['HTTP_RAW_POST_DATA'];if(empty($content)){      $content = file_get_contents('php://input');}file_put_contents($tmpfile, $content, true);  $file = file_get_contents($tmpfile);$data = explode(chr(10), $file); // 分解成数组$xid = mysql_escape_string($data[0]);$name = mysql_escape_string($data[1]);$email = mysql_escape_string($data[2]);$address = mysql_escape_string($data[3]);$sqlstr = "insert into student(xid,name,email,address) values('".$xid."','".$name."','".$email."','".$address."')";    mysql_query($sqlstr) or die(mysql_error());header('location:list.php');?>


post.php
<?php$data = file_get_contents('good.txt'); // 要发送的文件$opts = array(	'http' => array(		'method' => 'POST',		'header' => 'content-type:application/x-www-form-urlencoded',		'content' => $data	));$context = stream_context_create($opts);$url = 'http://localhost/add.php'; // 接收的urlfile_get_contents($url, false, $context);?>


执行步骤如下,访问http://localhost/post.php
然后访问http://localhost/list.php
如果list.php能显示good.txt文件的内容,表示成功,每运行一次post.php,数据表都会增加一条记录。

fdipzone 专家的回复灰常给力,我先试试,晚些时候给分。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄)11 최고의 PHP URL 쇼트너 스크립트 (무료 및 프리미엄)Mar 03, 2025 am 10:49 AM

종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Laravel의 플래시 세션 데이터로 작업합니다Laravel의 플래시 세션 데이터로 작업합니다Mar 12, 2025 pm 05:08 PM

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

Laravel Back End : Part 2, React가있는 React 앱 구축Laravel Back End : Part 2, React가있는 React 앱 구축Mar 04, 2025 am 09:33 AM

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel 테스트에서 단순화 된 HTTP 응답 조롱Laravel 테스트에서 단순화 된 HTTP 응답 조롱Mar 12, 2025 pm 05:09 PM

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> ​​'Hello World', 'github.com'=> ​​[ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법PHP의 컬 : REST API에서 PHP Curl Extension 사용 방법Mar 14, 2025 am 11:42 AM

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Codecanyon에서 12 개의 최고의 PHP 채팅 스크립트Mar 13, 2025 pm 12:08 PM

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP 상황 조사 발표2025 PHP 상황 조사 발표Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다

라 라벨에서 알림라 라벨에서 알림Mar 04, 2025 am 09:22 AM

이 기사에서는 Laravel 웹 프레임 워크에서 알림 시스템을 탐색 할 것입니다. Laravel의 알림 시스템을 사용하면 다른 채널을 통해 사용자에게 알림을 보낼 수 있습니다. 오늘은 알림을 보낼 수있는 방법에 대해 논의합니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)