<form action=
"提交到处理地址" method=
"post" enctype=
"multipart/form-data" class=
"form-horizontal">
<div class=
"form-group">
<label class=
"col-lg-2 col-sm-2 control-label">上传图片</label>
<div class=
"col-lg-4">
<input
type=
"file" name=
"photo">
</div>
</div>
<div class=
"form-group">
<div class=
"col-lg-offset-2 col-lg-4">
<button
type=
"submit" name=
"submit" class=
"btn btn-default">确定</button>
</div>
</div>
</form>
// 用来处理上传的数据流代码
public function
imgApp(){
//方式一:电脑上传文件
$image =
$_FILES[
"photo"][
"tmp_name"];
$fp = fopen(
$image,
"r");
$file = fread(
$fp,
$_FILES[
"photo"][
"size"]); //二进制数据流
//保存地址
$imgDir =
'./Uploads/';
//要生成的图片名字
$filename = date(
"Ym").
"/".md5(time().mt_rand(
10,
99)).
".png"; //新图片名称
$newFilePath =
$imgDir.
$filename;
$data =
$file;
$newFile = fopen(
$newFilePath,
"w"); //打开文件准备写入
fwrite(
$newFile,
$data); //写入二进制流到文件
fclose(
$newFile); //关闭文件
//写入数据库
$arr = array(
"uid" =>
1, //用户id
"cid" =>
1, //分类id
"a_title" =>
$_POST[
"a_title"], //标题
"a_content" =>
$_POST[
"a_content"], //内容
"photo" =>
$filename, //图片路径
"a_urgent" =>
$_POST[
'status'] ==
'on' ?
0 :
1, //是否急需
"add_time" => time(), //创建时间
);
if(empty(
$arr[
"a_title"])){
$this->error(
"标题不为空");
}
else if(empty(
$arr[
"a_content"])) {
$this->error(
"内容不为空");
}
if(
$db = M(
"answer")->add(
$arr)){
$this->success(
"保存成功",
"demo2");
}
else {
$this->error(
"失败");
}
}
<?php
/** php 发送流文件
* @param String
$url 接收的路径
* @param String
$file 要发送的文件
* @
return boolean
*/
function sendStreamFile(
$url,
$file){
if(file_exists(
$file)){
$opts = array(
'http' => array(
'method' =>
'POST',
'header' =>
'content-type:application/x-www-form-urlencoded',
'content' => file_get_contents(
$file)
)
);
$context = stream_context_create(
$opts);
$response = file_get_contents(
$url,
false,
$context);
$ret = json_decode(
$response,
true);
return $ret[
'success'];
}
else{
return false;
}
}
$ret = sendStreamFile(
'http://localhost/fdipzone/receiveStreamFile.php',
'send.txt');
var_dump(
$ret);
?>
<?php
/** php 接收流文件
* @param String
$file 接收后保存的文件名
* @
return boolean
*/
function receiveStreamFile(
$receiveFile){
$streamData = isset(
$GLOBALS[
'HTTP_RAW_POST_DATA'])?
$GLOBALS[
'HTTP_RAW_POST_DATA'] :
'';
if(empty(
$streamData)){
$streamData = file_get_contents(
'php://input');
}
if(
$streamData!=
''){
$ret = file_put_contents(
$receiveFile,
$streamData,
true);
}
else{
$ret =
false;
}
return $ret;
}
$receiveFile =
'receive.txt';
$ret = receiveStreamFile(
$receiveFile);
echo json_encode(array(
'success'=>(bool)
$ret));
?>
转载请注明原文地址: https://ju.6miu.com/read-1307363.html