LoginSignup
0

More than 5 years have passed since last update.

PHPのファイル読み書きで社畜からの開放

Posted at

N行にわたるビッグデータ()の全ての行にタグを貼っていく簡単なお仕事…

を振られた時に、高等社畜は「1タグ貼るのにT秒かかるから、作業時間はNTですね(ドヤ」
と言って徹夜作業を始めますが、これはNTではなくNGです。

セキュリティの観点から会社のPCにプログラムは入れられない…我々には膨大な人的リソースが(余って)いるから手を動かせ!という大企業、プライスレス…

余談はこれくらいにして、全ての行にタグを差し込むサンプルを載せます。

余談ですが、海外システムの翻訳とかやったことある方はpoedit(translateタグを差し込んだ箇所を翻訳するソフト)をやりながら、英語が分からないだけで業務が1つ生まれてしまう日本を憂んだことがあると思います。それでお給料が貰えてしまう自分、プライスレス…

<?php
$fp = fopen(‘input.txt’, ‘r’); //元のファイル。rは読みますという意味。
if ($fp){
if (flock($fp, LOCK_SH)){
while (!feof($fp)) {
$buffer = rtrim(fgets($fp));
$array[] = ‘<span translate>’.$buffer.'</span>’; //タグではさむ
}
flock($fp, LOCK_UN);
}else{
print(‘ファイルロック失敗’);
}
}
$flag = fclose($fp);

if ($flag){
print(‘クローズ成功’);
}else{
print(‘クローズ失敗’);
}

$fp = fopen(‘output.txt’, ‘ab’); //出力するファイル。abは書きますという意味。

if ($fp){
if (flock($fp, LOCK_EX)){
foreach($array as $row):
if (fwrite($fp, $row."\n") === FALSE){
print(‘書き込み失敗’);
}else{
print(‘書き込み成功’);
}
endforeach;
flock($fp, LOCK_UN);
}else{
print(‘ファイルロック失敗’);
}
}
fclose($fp);

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0