• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP4→5にアップグレードしたらコードが動きません。)

PHP4→5のアップグレードでコードが動かなくなるエラーが発生する

このQ&Aのポイント
  • PHP4からPHP5へのアップグレードにより、特定のコードがエラーを出して正常に動作しなくなる問題が発生しています。
  • このコードは、特定のファイルをブラウザでダウンロードするスクリプトです。
  • プログラミング初心者のため、修正方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

これぐらいなら、自動でなく人力でコンバートできるでしょ。 変換表は http://www.cs.wcupa.edu/~rkline/perl2php/ でみつけました。 ちゃちゃと書き換えると <?php /* #!/usr/bin/perl -wT use CGI ':standard'; use CGI::Carp qw(fatalsToBrowser); my $files_location; my $ID; my @fileholder; */ $files_location = "/home/user/public_html/static/file"; if ($ID == '') { header("Content-type:text/html"); print "You must specify a file to download."; }else { $DLFILE = fopen("$files_location" . "/" . $ID, "r"); if($DLFILE){ $i=0; while (!feof($DLFILE)) { $fileholder[$i] = fgets($DLFILE); i++; } fclose($DLFILE); }else { Error('open', 'file') } $LOG = fopen("//home/user/public_html/dl.log", "a+"); if($LOG){ fwrite($LOG,"$ID" . "\n"); fclose ($LOG); }else{ Error('open', 'file'); } header("Content-Type:application/x-download"); header("Content-Disposition:attachment;filename=" . $ID); for($i=0;$i<count($fileholder);i++){ print $fileholder[$i]; } } function Error($_[0],$_[1]){ header("Content-type:text/html"); print "The server can't" . $_[0] . " the " . $_[1] . " !\n"; die; } ?> こんな感じになるので、デバッグしてね。

kohei1016
質問者

補足

変換までして頂いて、ありがとうございます!初心者なのでとてもたすかりあます!

その他の回答 (4)

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.5

ANo.2です。 補足説明ありがとうございました。 起こった現象について、私の知識・経験からでは回答を差し上げることはできそうにないです。 とりあえず、動かなくなったPerlスクリプトをどうにかするために、Perlのカテゴリで質問してみてはいかがでしょうか(その際はエラーの内容も貼り付けた方がよいでしょう)。 その中でこの現象についての原因が明らかになるかもしれません。

kohei1016
質問者

補足

ありがとうございます。やってみます!

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

No3補足 大事なのが抜けてました。 $ID = param('ID');てのは、おそらく $ID = $_REQUEST["ID"]; ですね。

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

PHPをバージョンアップしたらPerlのコードが動かなくなったということですか? それとも別のサーバに移行したとかそういうことでしょうか。

kohei1016
質問者

補足

はいその通りです!PHP5にしたら何故か動かなくなりました

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

「perlからphpへの自動変換」で検索してみればいかがでしょう

kohei1016
質問者

補足

検索してみました。自動変換してくれそうなページは見当たりません。私のミスかもしれませんが。。。

関連するQ&A