php按行按长度读取txt数据并存储到mysql
58131 2012 041181603358--------------- 278 4---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------V1.000021 6773 6760 7201 7266 7162 7393 7427 7574 7440 7303 7321 7440 6927 7233 7219 7504 7555 7458 7518 7833 7852 7652 7040 6672 6699 5926 5717 5738 6073 6056 6325 6352 6965 7062 7094 7278 7465 7292 7324 7475 7562 7546 7314 7821 7869 7814 8178 8020 8300 7930 8608 8833 8643 8910 8927 8857 8976 8798 9535 90090022 9028 9818 9304 9042 8616 9044 9664 9966 970810022 962010491 9878 955810206100981000010564 99021020910279 8850 9246 9647 9310 8204 7860 8477 8313 8029 6600 6945 6503 6377 6212 5610 5732 5321 5302 5530 5973 5057 4293 4014 4826 5012 4955 4643 5218 5708 5861 6365 6756 6637 6534 8180 6732 6103 7344 7051
以上是txt格式文件数据内容,文件名“V5813101.012”
格式是:第一行,该数据文件的描述,如下
序号 参 数 字 长 备 注
1. 文件号 5字节
2. 年 5字节 不足5字节,前置空格
3. 月 5字节
4. 长度 5字节 。
5. 宽度 5字节
6. 备用字段 15字节 用“-”(减号)预填满各字节。
7. 高度 5字节 高位不足时前置空格。
8. 标识 5字节 以“4”填充
9. 后续保留各字节用“-”(减号)填充,使参数行与后续的数据记录行的长度相同。
10. V1.00 4字节
11. 回车换行 2字节
从第二行开始
自文件的第2行开始,分钟数据记录行,每小时为一记录行,每行记录的长度相等,记录长度为60×5+6。排列顺序为:2位“日期”、2位“小时”、60分钟*5+2位“回车换行”。
1个月为一个文件,有木有很简单的方式来把数据读取,然后写入数据库呢
满分相求。
回复讨论(解决方案)
$fn = 'V5813101.012';$ar = file($fn, FILE_IGNORE_NEW_LINES | FILE_IGNORE_NEW_LINES);//处理首行$h = sscanf(str_replace(' ', '_', $ar[0]), "%5s%5s%5s%5s%5s%15s%5s%5s%249s%5s");array_walk($h, function(&$v, $k, $t) { $v = strtr($v, $t); }, array('_' => ' '));print_r($h);//处理剩余行for($i=1; $i<count($ar); $i++) { $t = str_split(' '.$ar[$i], 5); $p = str_split(trim(array_shift($t)), 2); $t = array_merge($p, $t); print_r($t);}
只能说你太牛了!!
不过还有个问题
第7行报错
Parse error: syntax error, unexpected T_FUNCTION in read.php on line 7
如果把这行注释掉,都打印出来了。
$fn = 'V5813101.012';$ar = file($fn, FILE_IGNORE_NEW_LINES | FILE_IGNORE_NEW_LINES);//处理首行$h = sscanf(str_replace(' ', '_', $ar[0]), "%5s%5s%5s%5s%5s%15s%5s%5s%249s%5s");array_walk($h, function(&$v, $k, $t) { $v = strtr($v, $t); }, array('_' => ' '));print_r($h);//处理剩余行for($i=1; $i<count($ar); $i++) { $t = str_split(' '.$ar[$i], 5); $p = str_split(trim(array_shift($t)), 2); $t = array_merge($p, $t); print_r($t);}
是第6行
只能说你太牛了!!
不过还有个问题
第7行报错
Parse error: syntax error, unexpected T_FUNCTION in read.php on line 7
如果把这行注释掉,都打印出来了。
$fn = 'V5813101.012';$ar = file($fn, FILE_IGNORE_NEW_LINES | FILE_IGNORE_NEW_LINES);//处理首行$h = sscanf(str_replace(' ', '_', $ar[0]), "%5s%5s%5s%5s%5s%15s%5s%5s%249s%5s");array_walk($h, function(&$v, $k, $t) { $v = strtr($v, $t); }, array('_' => ' '));print_r($h);//处理剩余行for($i=1; $i<count($ar); $i++) { $t = str_split(' '.$ar[$i], 5); $p = str_split(trim(array_shift($t)), 2); $t = array_merge($p, $t); print_r($t);}
你还没有用到 php5.3 ?
你可以单独写个回调函数
array_walk($h, 'foo', array('_' => ' '));function foo(&$v, $k, $t) { $v = strtr($v, $t); }
这个回调的目的是将前面改成 “_”的空格改回来
明白,应该是版本问题,谢啦!
你还没有用到 php5.3 ?
你可以单独写个回调函数
array_walk($h, 'foo', array('_' => ' '));function foo(&$v, $k, $t) { $v = strtr($v, $t); }
这个回调的目的是将前面改成 “_”的空格改回来
你还没有用到 php5.3 ?
你可以单独写个回调函数
array_walk($h, 'foo', array('_' => ' '));function foo(&$v, $k, $t) { $v = strtr($v, $t); }
这个回调的目的是将前面改成 “_”的空格改回来

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다
