0

3 つのテキスト入力と 1 つのファイル入力を持つフォームを作成しました。このフォームは PHP スクリプトに送信され、ファイルが保存され、その他のビジネス ロジックが実行されます。このプログラムは、ローカルホストだけでなく、サーバーでもうまく機能しました。

このプログラムは Facebook アプリケーションに埋め込まれ、まだ動作しますが、最初はアップロードされたファイルが保存されませんでした。そこで、アップロード ディレクトリのアクセス許可を 777 に変更しました (大まかに言うと、私は知っています)。現在、アップロードされたファイルは、拡張子なしの数字「13474022561」の文字列として保存されています。

誰でも理由を教えてもらえますか? または、これを修正する方法は?

以下のソースコードのスニペット:

  if($_FILES['resume']['type']!='')
  {
        $target_path = "resumes/";

        $target_path = $target_path .time().basename( $_FILES['resume']['name']!="");
        if($_FILES['resume']['type']=="application/vnd.openxmlformats-officedocument.wordprocessingml.document" || $_FILES['resume']['type']=="application/pdf")
        {
            if(move_uploaded_file($_FILES['resume']['tmp_name'], $target_path)) 
            {
                echo "success";
            }
            else
                echo "failure";
        }
        else 
        {
                echo "<center>Resume must be MS DOC or PDF <br/>";                    
                exit;
        }
  }
4

1 に答える 1

2

このコード行:

$target_path = $target_path .time().basename( $_FILES['resume']['name']!="");

次のようにする必要があります。

$target_path = $target_path . time() . basename( $_FILES['resume']['name']);

現在のコードは次のように評価されます。

$target_path = 'resumes/' . time() . basename(true);

これはおそらくあなたが望むものではありません。

于 2012-09-11T22:59:38.817 に答える