0

次のコードを使用して、ファイルをphpからhtmlに変換しています。それが機能するためには、2行目に各ファイルの名前を入力する必要があります。

p "convert files"
%w(file1 file2 file3).each do |name|
  system %(php #{DIR}/#{name}.php > #{DIR2}/#{name}.htm)
end

メインディレクトリで.phpファイルを自動的に検索し、定義されたフォルダとそのサブフォルダで追加の.phpを探して、同様のフォルダ名で保存するようにする方法を教えてもらえますか?

例えば:

file1.php -> file1.htm
about-us/file2.php -> about-us/file2.htm
contact-us/department/file3.php -> contact-us/department/file3.htm
4

1 に答える 1

1

最も簡単な方法は、次を使用することDirです。

Dir.chdir('where_the_php_files_area')
Dir['**/*.php'].each do |php|
    htm = 'where_the_html_files_should_go/' +  php.sub(/\.php$/, '.htm')
    system("php #{php} > #{htm}")
end

(AKA )の**パターンはディレクトリに再帰的に一致するため、現在のディレクトリの下にあるすべての PHP ファイルが得られます。Dir.globDir[]Dir[**/*.php]

于 2011-04-15T00:07:17.673 に答える