1

ローカル インストール (PHP4/MySQL) で設計されたアプリケーションがあり、完全に動作します。ライブ インストール (PHP5/MySQL) に移行してから、問題が発生しました。グローバル変数の問題をすべて修正しました (PDO を学習するようになったので、悪いことではありません!)。グローバル変数をオンにせずに、唯一の問題はファイルのアップロードに関するものです。$_file の isset テストを試みましたが、変数が設定されていないように見えますか? 何か案は?

フォームデータは次のとおりです。

     <form enctype="multipart/form-data" method="post" action="script_add_product.php" >   

     <input class="cp_forms_upload" type="file" name="full_image" />

     <input class="cp_formsButton" type="submit" name="submit_button" value="Add Product" /></form>

そして、ここにPHPがあります:

    $full_image_url = $_FILES["full_image"]["name"];     

    if ((($_FILES["full_image"]["type"] == "image/gif")
    || ($_FILES["full_image"]["type"] == "image/jpeg")
    || ($_FILES["full_image"]["type"] == "image/pjpeg")
    || ($_FILES["full_image"]["type"] == "image/png"))
    && ($_FILES["full_image"]["size"] < 400000))
      {
     if ($_FILES["full_image"]["error"] > 0)
      {
       echo "Return Code: " . $_FILES["full_image"]["error"] . "<br />";
       }
     else
       {
      echo "Upload: " . $_FILES["full_image"]["name"] . "<br />";
      echo "Type: " . $_FILES["full_image"]["type"] . "<br />";
      echo "Size: " . ($_FILES["full_image"]["size"] / 1024) . " Kb<br />";
      echo "Temp file: " . $_FILES["full_image"]["tmp_name"] . "<br />"; 

      if (file_exists("../Uploads/" . $_FILES["full_image"]["name"]))
       {
         echo $_FILES["full_image"]["name"] . " already exists. ";
        } 
      else 
         {
         move_uploaded_file($_FILES["full_image"]["tmp_name"],
         "../Uploads/" . $_FILES["full_image"]["name"]);
         echo "Stored in: " . "../Uploads/" . $_FILES["full_image"]["name"];
     echo "<br /><br /><br />" . $full_image_url;
         }
       }

      }

      else
      {
     echo "Invalid file";
       }

ありがとうございます:)

4

3 に答える 3

0

構成を参照してくださいphp.ini

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = "...../tmp"

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 128M

また、便利な場合がmemory_limitありmax_execution_timephp.ini. 詳細:ファイルのアップロードの処理 -> よくある落とし穴

フォルダーが存在し、apache/nginx の作業 (またはそのようなもの)"../Uploads/"の下にユーザーの書き込み権限があることを確認してください。www_data

于 2012-07-28T20:36:47.523 に答える
0

がに設定されているphp.iniかどうかを確認していただけますか。file_uploadsOn

; Whether to allow HTTP file uploads.
; http://ph .net/file-uplollow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On
于 2012-07-28T19:59:53.387 に答える
-1

これが問題でしょうか?このセクションの追加の「(」ブラケット:

if (($_FILES["full_image"]["type"] == "image/gif")
    || ($_FILES["full_image"]["type"] == "image/jpeg")
    || ($_FILES["full_image"]["type"] == "image/pjpeg")
    || ($_FILES["full_image"]["type"] == "image/png"))
    && ($_FILES["full_image"]["size"] < 400000))
于 2012-07-28T23:01:11.883 に答える