1

以下は、IE 9 - Windows 7 で php を使用してファイルをアップロードするための私のコードです。

ファイルのアップロード プロセスに関連する問題がある - 同じコードが他のブラウザでも動作する

Test.html

<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="uploader.php" method="post"
enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>

Uploader.php

<?php

if( $_FILES['file']['name'] != "" ) { print_r($_FILES); copy( $_FILES['file']['name'], "/var/www/html/php/uf" ) or die( "Could not copy file!");

} else { die("No file specified!"); } ?>
4

1 に答える 1

1

これを試して 。

ファイルがサーバーにアップロードされている場合、その実際のパスは$_FILES['file']['tmp_name']、NOT $_FILES['file']['name']、および DO NOT を使用しcopy()、 を使用しmove_uploaded_file、より安全です

<?php

if(!empty($_FILES)) { 

      if(is_uploaded_file($_FILES['file']['tmp_name'])){
            $tmp_name = $_FILES['file']['tmp_name'];
            $new_name = "/var/www/html/php/uf/".$_FILES['file']['name'];
            if(!move_uploaded_file($tmp_name, $new_name)){
                 exit('Could not move the file');
            }

      }else{
           exit('not uploaded file');
      }
      //copy( $_FILES['file']['name'], "/var/www/html/php/uf" ) or die( "Could not copy file!");
      //DO NOT use copy for uploaded file , it's unsafe.

} else { 
   exit("No file specified!");
} 
?>
于 2012-09-28T05:49:34.433 に答える