0

コードはビデオファイルをアップロードしていましたが、フォームを拡張するとアップロードが停止しました。他のすべての変数は正常に渡されましたが、ファイル変数は空白ではありませんでした。

アップロードロジックをWeb上の同様の例と比較しようとしましたが、失敗する原因となった変更内容を確認できませんでした。以下のリストでは、無関係なコードをすべて削除しました。このコードを実行すると、「エラー」が返されます。

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
if (isset($_FILES['urlvideo'])) {
  move_uploaded_file($_FILES['urlvideo']['tmp_name'], "{$_FILES['urlvideo']['name']}");
} else {
  echo('Error');
  exit();
}
?>  
<!DOCTYPE HTML>
<html>
  <body>
    <form action="videotest.php"
          method="post"
         enctype="multipart/form-data">   
      Upload video:
      <input type="file" name="urlvideo" /><br>
      <input type="submit"
            value="Submit"/>
    </form>
  </body>
</html>
<?php ob_end_flush(); ?>

お時間を割いていただきありがとうございます。

4

1 に答える 1

0

このコードを使用してください。

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
if ( $_POST ) {
    if (isset($_FILES['urlvideo'])) {
      move_uploaded_file($_FILES['urlvideo']['tmp_name'], "{$_FILES['urlvideo']['name']}");
    } else {
      echo('Error');
      exit();
    }
}
?>  
<!DOCTYPE HTML>
<html>
  <body>
    <form action="testup.php"
          method="post"
         enctype="multipart/form-data">   
        <input type="hidden" name="method" value="post" /><!-- for check $_POST before if isset $_FILES-->
      Upload video:
      <input type="file" name="urlvideo" /><br>
      <input type="submit"
            value="Submit"/>
    </form>
  </body>
</html>

これは、フォームを表示する前にif(isset($ _FILES)を入力したためです。

于 2012-06-04T05:58:22.343 に答える