在php中,有文件上传,那么php服务器端可以接收到请求参数 $_FILES,在 $_FILES数组中读取到上传文件的form表单名,然后在读取的数组中可以获取上传文件的源文件,使用 fopen()函数就可以获取文件的字节流了。
具体来点代码看看吧:(假定上传文件的表单名为 “formname”)
if($_FILES && isset($_FILES["formname"])){
//获取上传的文件的属性数组
$_fileinfo = $_FILES["formname"];
//获取上传文件的原文件名
$_filename = $_fileinfo["name"];
//获取上传文件的大小
$_filesize = $_fileinfo["size"];
//获取上传文件的临时文件名(长文件名)
$_filesource = $_fileinfo["tmp_name"];
//以读写方式打开文件,并将资源绑定到一个流上
$_filestream = fopen($_filesource,"ab");
//实现上传文件,其实质是把临时文件移动到制定的保存文件的位置
$_newfilename = "/mypath/filenameexp"; //自定义文件名,包含路径,可以是相对路径
move_uploaded_file($_filesource, $_newfilename);
}由于Apache有PHP的专用模组,所以可以直接调用,现在比较少人会使用CGI的方式执行PHP(不过好像使用fast-cgi的有一定巿场),大部份的PHP用途是server side script,但实际上你也可以把他写成desktop application,有qt等界面库可以调用(不过真的没多少人开发就是了)
总结:
CGI是一种server side script的执行方式
PHP是一种编程语言!你用的$_FILES["file"]["tmp_name"],应该就是获取路径的吧?跨页面可以用SESSION和COOKIE
或者写一个链接地址,把参数传过去 例如<a href="indexphpa=$_FILES["file"]["tmp_name"]>传值</a>
在indexphp页面里这样接收:$_GET['a'];
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)