• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サイト内全体を置換)

HTMLファイルにユニークなナンバーを埋め込む方法

thatsthatの回答

  • thatsthat
  • ベストアンサー率55% (15/27)
回答No.2

番号を各ファイルの一行目に入れる場合の例です。 unixならfindの代わりにopen LS,"ls -1R ~|"したりできますが、 それなら全部シェルで書けそうですし・・・。 perlだけで書くとこんな感じになるかと思います。 (自下げに全角スペースを入れてあるので、コピペする時はご注意を。) ------ use File::Find; use strict; my $srcpath="/somewhere/src/"; my $destpath="/somewhere/dest/"; my %no=(); while(<>){  chop;  my @line=split /,/;  $no{$line[0]}=$line[1]; } find(sub{  my $hkey=substr($File::Find::name,length($srcpath));  my $outfile="$destpath$hkey";  if(-f $_ && /\.html?$/){   if(exists $no{$hkey}){    open IN,$File::Find::name;    open OUT,">$outfile";    print OUT $no{$hkey},"\n";    while(<IN>){ print OUT $_; }    close OUT; close IN;    delete $no{$hkey};   }else{    print "$hkey が CSV中に書かれてないです\n";   }  }elsif(-d $_){   mkdir "$outfile",0775;  } }, $srcpath ); foreach my $fn (keys %no){  print "CVS中 $fn がdisk上に存在しません\n"; }

lefthand77
質問者

補足

ありがとうございました!! …しかし、私のスキル不足(というかすいません、ほぼ初心者状態でして)どのコードがどのような動きを表しているのか、よく分からないところが出てしまいました。 >while(<>){ > chop; > my @line=split /,/; > $no{$line[0]}=$line[1]; >} 具体的には、この部分の動作がイマイチ理解できませんでした… 恐らくはcsv関係のもので、この前段階でcsvファイルを読み込んでこなければならないのだとは思うのですが… そこから下は、照合、埋め込み作業をしているのだという事は分かります(細かい動作までは、少しよく分からないところがあるのですが、大体理解できました) せっかく教えていただいたのに、本当にすみません。 よろしければ、さらに詳しくご教授願えないでしょうか…? よろしくお願いいたします。

関連するQ&A

  • ファイルは大量に置いてもいいの?

    ある特定のディレクトリ上に ファイルがやたら大量にあったとしたら… 例えば極端な話 サイトを構成する全てのhtmlをローカルディレクトリ直下に わーっと置いたとしたら 管理がしにくくなる以外で何か 問題があるんでしょうか? ある事情で↑みたいなことをしけければならないんですが ちょっと心配になったので…。 ファイル数は80個とかなのですが…。

    • ベストアンサー
    • CSS
  • perl ftp取得したファイルの保存先設定

    perl初心者です。 FTPサーバーのLOGを取得する場合のプログラムをperlで作成しております。 保存先設定を1回(1行)設定しただけで設定先フォルダにLOGファイルが保存されるような方法はありますでしょうか? 今現在以下のように保存先を指定して取得しています。 my $local_file1 = 'C:/log/aaa.csv''; my $local_file2 = 'C:/log/bbb.csv'; my $local_file3 = 'C:/log/ccc.csv'; $ftp->get('取得元パス/aaa.csv',$local_file1); $ftp->get('取得元パス/bbb.csv',$local_file2); $ftp->get('取得元パス/ccc.csv',$local_file3); ただ、1ヶ月分のLOGを取得するとなるとmy $local_fileも$ftp->getも1ヶ月分作成しなければならないため長文のプログラムになってしまいます。 他、1ヶ月分ならFor文でこんな感じでやれば・・・というアドバイスがあればお願いいたします。

    • ベストアンサー
    • Perl
  • CGIでサイト全体のアクセス解析を行うには?

    CGIでサイト全体のアクセス解析を行うにはどうしたらいいのですか? たとえば、http://www.*****.com/ というサイトがあったとしましょう。 http://www.*****.com/1.html http://www.*****.com/1/2/3.html ・・・なども、このサイト、 http://www.*****.com/ に納められるデータ すべてのファイル・ディレクトリに対して、 どこか一カ所にCGiをおいて、アクセス解析をしたいのです。 どのようにしたらいいですか? そのようなスクリプトはどこにありますか_?

  • CSVファイルのダウンロード

    <環境> PHP4.3.2 Windows2000 PostgreSQL RedHat Linux <求めていること> DBのデータをCSVファイルに書き出し、 ダウンロードボタン押下で ダイアログがアップしファイル保存ディレクトリ選択、保存。 <現在のソース> サーバーにtest.csvファイル作成後、 現在HTMLでダウンロードボタン押下でdownload.phpを呼び出し <input type=button value="ダウンロード" onClick="location.href='download.php'"> ---------------- download.php ------------------- <?php // 1.ディレクトリ指定 //$filename="/test/test.csv"; // 2.ディレクトリ指定なし $filename = "test.csv"; header("Content-disposition: attachment; filename=$filename"); header("Content-type: application/octet-stream"); ?> ---------------- download.php ------------------- 現在、 1番のディレクトリ指定だと downloadというファイルがダウンロードされるダイアログがアップし ダウンロードされます。 2番のディレクトリ指定なしだと もちろん空のtest.csvファイルがダウンロードされます。 実現したいのは/test/test.csvのファイルをダウンロードすることです。 色々なサイトで探してみて試しているのですが 初心者なもので、行き詰まってしまいました。 申し訳ありませんが ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • XOOPSサイトをまるごとバックアップする方法

    お世話になります。 現在、XOOPSサイトを運用しており、こちらのサイトのバックアップを取っておきたいと考えております。 データベースとXOOPSのファイル一式を保存することはできるのですが、それをローカルサーバで復元することができず、困っております。 各ソフトのバージョン等の依存もあるのかと思い、別の方法として、HTMLのサイトとして一括で保存できないか調べているのですが、良い方法が見つかりません。 どなたか、XOOPSサイトを、簡単に一括で、まるごとローカル環境に再現できる方法を、ご存じありませんでしょうか? ローカル環境で、画像や内容が現サイトと同じように見られれば、最高です。 どうぞよろしくお願いいたします。

  • WeBoXでのサイト全体DLを頻繁に行っても大丈夫?

     WeBoXというソフトを使って、サイトの丸ごとダウンロードを、週一間隔でやりたいのですが、そういったことをしても、相手側のサーバーに迷惑をかけることはないでしょうか?  このソフトは、一秒間隔で1ファイルのダウンロードを実行しているようです。(一秒に五六個ほどやっているようにも見えますが・・・。)  毎週ローカル保存を行いたいのですが、相手のサーバーに過剰な負荷をかけてしまうのではないかと心配です・・・。

  • Webサイトの更新とファイルの管理について

    初めて質問いたします。 現在仕事であるサイトのデザイン、更新、管理を行っております。 私が困っているのはファイルの管理方法です。 私が管理しているサイトはデータベースなどは使用しない、 htmlとCSS、Javascriptから構成される50ページほどのサイトで、 サイトの情報更新が月に数回あります。 htmlやCSSを更新する際、 現在はまずローカルで、更新するファイルを複製し、 aaa.html080528のように名前をつけています。 複製したファイルは元のファイルと同じフォルダに保存します。 編集作業が終わった後に、aaa.htmlとaaa.html080528の 両方のファイルをサーバの同じフォルダにUPしています。 つまりローカルとリモートサーバで同期をとり、 両方でバックアップファイルと公開しているファイルを管理している状態です。 しかし、更新が進むにつれバックアップファイル数が膨大な量になり、 なんとか効率よくバックアップファイル等を管理できないか模索中です。 更新作業はDreamweaverを使用しています。 できればローカルでの作業中はバックアップファイルなど 公開していないファイルは見えない状態で作業がしたいと思っています。 同じようなWebサイト管理をされている方は どのようにファイルを管理しているのでしょうか? どうぞよろしくお願い致します。

  • 複数人でサイト管理

    資料置き場のような社内用のホームページを作りました。 最初は一人で管理してよかったのですが、担当者が一人増えました。しかも離れたところでです。 今まではローカルのHTMLファイルが最新(当たり前)だったのでよかったですが、今後は他の人にサーバ上のファイルを触られてしまいます。 最新のデータを更新するには、いったんFTPで全部ローカルに落としてから修正すればいいのですが、それよりなにより、自分以外がどこをどう触ったのかを知りたいです。 ローカルとサーバのディレクトリ構成の差分、ファイルの差分を簡単に確認できて、それを元にダウンロード、アップロードファイルを選択できて、という都合のいいFTPクライアントソフトはないでしょうか? ちなみに今は手間ですがFFFTPで落としたものをローカルデータとDFというDIFFソフトで確認し、いちいち上書きしたり整理したりするしかありません。 助けてください。。。

    • ベストアンサー
    • HTML
  • CSVファイルを任意のディレクトリに作成する方法につきまして

    CSVファイルを任意のディレクトリに作成するマクロを 作成しております。抜粋は下記です。 '(1)ディレクトリを指定するダイアログ表示(初期ファイル名はwOutputFileName) Application.Dialogs(xlDialogSaveAs).Show wOutputFileName '(2)ディレクトリのパスを取得 Current_path = CurDir '(3)wOutputFileNameにパスを代入 wOutputFileName = Current_path & "\" & wOutputFileName その後、(3)のファイルをオープンし、CSVとするデータを登録します。 ところが、(1)での指定で、自分の元ファイル(マクロのエクセルファイル)が名前をwOutputFileNameに変えて保存されるため 「書き込みができません」 というエラーが発生します。 作成したCSVファイルをダイアログにてディレクトリを 指定して保存する方法を教えていただけませんか? よろしくお願いいたします。

  • ダウンロード後の保存ディレクトリ選択の制御

    現在WEBからCSVファイルをダウンロードし、 「開く」「保存」を選択するダイアログで、 「保存」を選択した後に表示されるディレクトリ選択で、 固定のディレクトリを表示し、また他のディレクトリを選択できなくするという方法を探しています。 例としては、CSVファイルを保存するを選んだら、 最初に表示されるディレクトリ選択で『デスクトップ』でなく、『C:\temp』などに強制的に指定でき、かつ他のディレクトリを選択できなくする方法です。 サーバ側はPHPなのですが、PHPでは制御できそうも無いので、ActiveXなどでできないかと考えているのですが、 ActiveXが正直どこまでできるのかわからないので、 果たして可能なのかどうか、知っている方教えてください。