求专家解答: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 专家的回复灰常给力,我先试试,晚些时候给分。

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

Serat diperkenalkan dalam Php8.1, meningkatkan keupayaan pemprosesan serentak. 1) Serat adalah model konkurensi ringan yang serupa dengan coroutine. 2) Mereka membenarkan pemaju mengawal aliran pelaksanaan tugas secara manual dan sesuai untuk mengendalikan tugas I/O-intensif. 3) Menggunakan serat boleh menulis kod yang lebih cekap dan responsif.

Komuniti PHP menyediakan sumber dan sokongan yang kaya untuk membantu pemaju berkembang. 1) Sumber termasuk dokumentasi rasmi, tutorial, blog dan projek sumber terbuka seperti Laravel dan Symfony. 2) Sokongan boleh didapati melalui saluran StackOverflow, Reddit dan Slack. 3) Trend pembangunan boleh dipelajari dengan mengikuti RFC. 4) Integrasi ke dalam masyarakat dapat dicapai melalui penyertaan aktif, sumbangan kepada kod dan perkongsian pembelajaran.

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.