2017-09-14 8 views
1

PHPには、ファイルのアップロード、私は次のHTMLフォームがあります。ビルトインWebサーバー

<form method="post" enctype="multipart/form-data"> 
 
    File: <input type="file" name="file"><br> 
 
    Name: <input type="text" name="file_name"><br> 
 
    <input type="submit" name="action" value="Upload"> 
 
</form>

をしかし、ファイルがアップロードされることは決してありません。テキストフィールドはデバッグコードとして存在します。

次のPHPコード:私はすべてのフォームの値を満たす場合

<?php 
    echo "<pre>"; 
    print_r($_POST); 
    echo "</pre>"; 
    ?> 

は、以下の出力を与える:

アレイ(

[ファイル名] => ABC

を[アクション] =>アップロード)

そして、次のように私はPHPサーバーを実行しているよ:

PHPの-nsのはlocalhost:8000 -t。

ここで何か間違っていますか?それはすべてローカルで実行されており、アップロードするファイルは10バイト未満です。

+1

上のファイル情報はに配置する必要があります$ _FILES – Patrick

+0

でファイルを取得して試してみてください[$ _FILES superglobal](http://php.net/manual/en/reserved.variables.files.php) – aynber

+0

PHPはファイルをアップロードしません。あなたはファイルをアップロードするように指示する必要があります。また、$ _FILESでアップロードしてください。 – tdoggy

答えて

0

アップロードされたファイルに関するデータは、$_FILES["file"]という変数にあり、$_POST変数には含まれていません。

0

まず、ファイルアップロードを許可するようにPHPが設定されていることを確認します。あなたの「php.iniの」ファイルで

、file_uploadsディレクティブを検索し、オンに設定します。

file_uploadsを=

+0

Webサーバーで-nオプションを使用していましたが、php.iniファイルは無視されます。 – Toadjk