最近公司有个项目,是将本地生成的文件使用ftp传递到另外一台服务器上。
分析需求,无非就是跑出个csv文件,然后再将文件使用php的ftp相关函数传递到ftp服务器上。
总不能让客服天天定点用ftp工具从这个服务器上拉到那个服务器上吧?。。。
so,先温习下相关知识,点这里,多了不说了。
ps:有人愿意使用第三方类库,如果你不嫌麻烦,你去用好了,pear的net_ftp里的方法我看比php自带的函数不少多少。 more…
最近公司有个项目,是将本地生成的文件使用ftp传递到另外一台服务器上。
分析需求,无非就是跑出个csv文件,然后再将文件使用php的ftp相关函数传递到ftp服务器上。
总不能让客服天天定点用ftp工具从这个服务器上拉到那个服务器上吧?。。。
so,先温习下相关知识,点这里,多了不说了。
ps:有人愿意使用第三方类库,如果你不嫌麻烦,你去用好了,pear的net_ftp里的方法我看比php自带的函数不少多少。 more…
//文档类型对照表
$filetype = array(
'chm'=>‘application/octet-stream’,
‘ppt’=>’application/vnd.ms-powerpoint’,
‘xls’=>’application/vnd.ms-excel’,
‘doc’=>’application/msword’,
‘exe’=>’application/octet-stream’,
‘rar’=>’application/octet-stream’,
‘js’=>”javascript/js”,
‘css’=>”text/css”,
‘hqx’=>”application/mac-binhex40″,
‘bin’=>”application/octet-stream”,
‘oda’=>”application/oda”,
‘pdf’=>”application/pdf”,
‘ai’=>”application/postsrcipt”,
‘eps’=>”application/postsrcipt”,
‘es’=>”application/postsrcipt”,
‘rtf’=>”application/rtf”,
‘mif’=>”application/x-mif”,
‘csh’=>”application/x-csh”,
‘dvi’=>”application/x-dvi”,
‘hdf’=>”application/x-hdf”,
‘nc’=>”application/x-netcdf”,
‘cdf’=>”application/x-netcdf”,
‘latex’=>”application/x-latex”,
‘ts’=>”application/x-troll-ts”,
’src’=>”application/x-wais-source”,
‘zip’=>”application/zip”,
‘bcpio’=>”application/x-bcpio”,
‘cpio’=>”application/x-cpio”,
‘gtar’=>”application/x-gtar”,
’shar’=>”application/x-shar”,
’sv4cpio’=>”application/x-sv4cpio”,
’sv4crc’=>”application/x-sv4crc”,
‘tar’=>”application/x-tar”,
‘ustar’=>”application/x-ustar”,
‘man’=>”application/x-troff-man”,
’sh’=>”application/x-sh”,
‘tcl’=>”application/x-tcl”,
‘tex’=>”application/x-tex”,
‘texi’=>”application/x-texinfo”,
‘texinfo’=>”application/x-texinfo”,
‘t’=>”application/x-troff”,
‘tr’=>”application/x-troff”,
‘roff’=>”application/x-troff”,
’shar’=>”application/x-shar”,
‘me’=>”application/x-troll-me”,
‘ts’=>”application/x-troll-ts”,
‘gif’=>”image/gif”,
‘jpeg’=>”image/pjpeg”,
‘jpg’=>”image/pjpeg”,
‘jpe’=>”image/pjpeg”,
‘ras’=>”image/x-cmu-raster”,
‘pbm’=>”image/x-portable-bitmap”,
‘ppm’=>”image/x-portable-pixmap”,
‘xbm’=>”image/x-xbitmap”,
‘xwd’=>”image/x-xwindowdump”,
‘ief’=>”image/ief”,
‘tif’=>”image/tiff”,
‘tiff’=>”image/tiff”,
‘pnm’=>”image/x-portable-anymap”,
‘pgm’=>”image/x-portable-graymap”,
‘rgb’=>”image/x-rgb”,
‘xpm’=>”image/x-xpixmap”,
‘txt’=>”text/plain”,
‘c’=>”text/plain”,
‘cc’=>”text/plain”,
‘h’=>”text/plain”,
‘html’=>”text/html”,
‘htm’=>”text/html”,
‘htl’=>”text/html”,
‘rtx’=>”text/richtext”,
‘etx’=>”text/x-setext”,
‘tsv’=>”text/tab-separated-values”,
‘mpeg’=>”video/mpeg”,
‘mpg’=>”video/mpeg”,
‘mpe’=>”video/mpeg”,
‘avi’=>”video/x-msvideo”,
‘qt’=>”video/quicktime”,
‘mov’=>”video/quicktime”,
‘moov’=>”video/quicktime”,
‘movie’=>”video/x-sgi-movie”,
‘au’=>”audio/basic”,
’snd’=>”audio/basic”,
‘wav’=>”audio/x-wav”,
‘aif’=>”audio/x-aiff”,
‘aiff’=>”audio/x-aiff”,
‘aifc’=>”audio/x-aiff”,
’swf’=>”application/x-shockwave-flash”);
$filepath = ‘http://www.wemvc.com/logo.jpg’;
$filename = ‘logo.jpg’;
$filetype = $filetype['jpg'] ;
$query = file_get_contents($filepath);
header(”Content-type: “.$filetype);
header(”Content-Disposition: inline; filename = “.$filename);
header(’Cache-Control: must-revalidate, post-check=0, pre-check=0′);
header(’Expires: 0′);
header(’Pragma: public’);
echo $query;
?>
1、一维数组排序
a、sort–本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。注:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序
<?php $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); foreach ($fruits as $key => $val) { echo "fruits[".$key."] = " . $val . "\n"; } ?>
上例将输出:
# fruits[0] = apple
# fruits[1] = banana
# fruits[2] = lemon
# fruits[3] = orange
b、asort — 对数组进行排序并保持索引关系。本函数对数组进行排序,数组的索引保持和单元的关联。主要用于对那些单元顺序很重要的结合数组进行排序。
<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); arsort($fruits); foreach ($fruits as $key => $val) { echo "$key = $val\n"; } ?>
上例将输出:
a = orange
d = lemon
b = banana
c = apple
2、多维数组排序
<?php $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 1); $data[] = array('volume' => 85, 'edition' => 6); $data[] = array('volume' => 98, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 6); $data[] = array('volume' => 67, 'edition' => 7); ?>
本例中将把 volume 降序排列,把 edition 升序排列
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序
<?php // 取得列的列表 foreach ($data as $key => $row) { $volume[$key] = $row['volume']; $edition[$key] = $row['edition']; } // 将数据根据 volume 降序排列,根据 edition 升序排列 // 把 $data 作为最后一个参数,以通用键排序 array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); ?>
数据集合现在排好序了,结果如下:
volume | edition
——-+——–
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7