php做服务器,接受客户端上传的文件,服务器是怎么接收的 我们用C++在本地写的客户端,然后想用PHP在服务器端写个程序把这个文件接受存储,是不是在服务器要写个监听程序,还是要怎么来把他们链接起来实现数据传输php服务器 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 post 方式加 multipart/form-data 头php 会自动识别上传的文件如果用 put 方式,则需在 平衡品端从 php://input 资源读取文件内容 能不能写几行具体的代码,PHP我也是刚开始学新手,谢谢了 if(isset($_FILES['上传时指定的变量名']['tmp_name')) { move_uploaded_file($_FILES['上传时指定的变量名']['tmp_name'], '目标文件名');}else { $s = file_get_contents('php://input'); if($s) { file_put_contents('目标文件名', $s); }} 我这里有个程序,我不懂人家这个<?phpif($_SERVER["REQUEST_METHOD"]=="POST"){ //上传最大文件的大小。 $MAX_SIZE = 20000000; echo $MAX_SIZE; //设置允许的 Mime 类型. $FILE_MIMES = array('image/jpeg','image/jpg','image/gif' ,'image/png','application/msword','text/plain','application/octet-stream','application/x-zip-compressed'); //设置允许的文件类型。请按照格式添加。 $FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.txt','.rar','zip'); /************************************************************ * 设置变量 ************************************************************/ $site_name = $_SERVER['HTTP_HOST']; $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $upload_dir = "files/"; $upload_url = $url_dir."/files/"; $message =""; /************************************************************ * 创建上传目录 ************************************************************/ if (!is_dir("files")) { if (!mkdir($upload_dir)) die ("upload_files directory doesn't exist and creation failed"); if (!chmod($upload_dir,0755)) die ("change permission to 755 failed."); echo $upload_dir; } /************************************************************ * 用户请求进程,下面所有用到的 upfile 需要与VC客户端一致,可以批量替换。见HotpimUploadDlg.cpp第224行。 ************************************************************/ if ($_FILES['upfile']) { $resource = fopen("log.txt","a"); fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]" .$_FILES['upfile']['name']." " .$_FILES['upfile']['type']."\n"); fclose($resource); $file_type = $_FILES['upfile']['type']; $file_name = $_FILES['upfile']['name']; $file_ext = substr($file_name,strrpos($file_name,".")); //文件大小检查 if ( $_FILES['upfile']['size'] > $MAX_SIZE) $message = "The file size is over 2MB."; //文件类型/扩展名检查 else if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) ) $message = "Sorry, $file_name($file_type) is not allowed to be uploaded."; else $message = do_upload($upload_dir, $upload_url); } else if (!$_FILES['upfile']); else $message = "Invalid File Specified.";} function do_upload($upload_dir, $upload_url) { $temp_name = $_FILES['upfile']['tmp_name']; $file_name = $_FILES['upfile']['name']; $file_name = str_replace("\\","",$file_name); $file_name = str_replace("'","",$file_name); $file_path = $upload_dir.$file_name; //文件名字检查 if ( $file_name =="") { $message = "Invalid File Name Specified"; return $message; } $result = move_uploaded_file($temp_name, $file_path); if (!chmod($file_path,0755)) $message = "change permission to 755 failed."; else $message = ($result)?"$file_name uploaded successfully." : "Somthing is wrong with uploading a file."; return $message; }?> 这个是标准的文件上传程序,建议去看看php手册就明白了。 建议看看手册 $_FILES 有说明有例子 嗯谢谢各位了,我继续去看看PHP手册 请问有什么方法可以将表格post到两个以上的php页面吗? 如何防止打开页面自动下载 PHP项目里的HTML页代码求教 fckeditor 取数据库的值 【正式离职】散分200 用apache_2.0.55-win32版本的请进,在设置的时候有点问题请教! socket_read的问题!!!!!请高人指点,最好能说一说原理,谢谢! 一棵类树,我刚写完的,大家进来看看,帮完善一下。 求一正则表达示 :( 为何我调用session_destroy()时出错? 文件上传怪异问题,求大家帮忙看看 PHP 判断上传文件类型的问题
php 会自动识别上传的文件如果用 put 方式,则需在 平衡品端从 php://input 资源读取文件内容
move_uploaded_file($_FILES['上传时指定的变量名']['tmp_name'], '目标文件名');
}else {
$s = file_get_contents('php://input');
if($s) {
file_put_contents('目标文件名', $s);
}
}
<?phpif($_SERVER["REQUEST_METHOD"]=="POST")
{
//上传最大文件的大小。
$MAX_SIZE = 20000000;
echo $MAX_SIZE;
//设置允许的 Mime 类型.
$FILE_MIMES = array('image/jpeg','image/jpg','image/gif'
,'image/png','application/msword','text/plain','application/octet-stream','application/x-zip-compressed'); //设置允许的文件类型。请按照格式添加。
$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.txt','.rar','zip');
/************************************************************
* 设置变量
************************************************************/
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message =""; /************************************************************
* 创建上传目录
************************************************************/
if (!is_dir("files")) {
if (!mkdir($upload_dir))
die ("upload_files directory doesn't exist and creation failed");
if (!chmod($upload_dir,0755))
die ("change permission to 755 failed.");
echo $upload_dir;
} /************************************************************
* 用户请求进程,下面所有用到的 upfile 需要与VC客户端一致,可以批量替换。见HotpimUploadDlg.cpp第224行。
************************************************************/
if ($_FILES['upfile'])
{
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['upfile']['name']." "
.$_FILES['upfile']['type']."\n");
fclose($resource); $file_type = $_FILES['upfile']['type'];
$file_name = $_FILES['upfile']['name'];
$file_ext = substr($file_name,strrpos($file_name,".")); //文件大小检查
if ( $_FILES['upfile']['size'] > $MAX_SIZE)
$message = "The file size is over 2MB.";
//文件类型/扩展名检查
else if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) )
$message = "Sorry, $file_name($file_type) is not allowed to be uploaded.";
else
$message = do_upload($upload_dir, $upload_url);
} else if (!$_FILES['upfile']);
else
$message = "Invalid File Specified.";}
function do_upload($upload_dir, $upload_url)
{
$temp_name = $_FILES['upfile']['tmp_name'];
$file_name = $_FILES['upfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name; //文件名字检查
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
} $result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0755))
$message = "change permission to 755 failed.";
else
$message = ($result)?"$file_name uploaded successfully." :
"Somthing is wrong with uploading a file.";
return $message;
}
?>