2011-12-04 14 views
0

OK別の方法で再試行することにしました。これは私のコードで、悪い部分は無効なファイルサイズと言っています。mysqlとphpでファイルをアップロード

<?php 
     session_start(); 
     include "connect.php"; 
     if ($_POST[ "submit" ]) { 
      if ($_SESSION[ "name" ]) { 
        $name = $_FILES[ "file" ][ "name" ]; 
        $type = $_FILES[ "file" ][ "type" ]; 
        $size = $_FILES[ "file" ][ "size" ]; 
        $tmp_name = $_FILES[ "file" ][ "tmp_name" ]; 
        $error = $_FILES[ "file" ][ "error" ]; 
        if ($type == "image/jpeg" || $type == "image/gif") { 
          if ($size > 1100000 && $size < 1700000) { 
            if ($error > 0) { 
             echo "Error!!!!!!" . $error; 
            } else { 
             if (file_exists("upload/" . $name)) { 
               echo $name . " already exists."; 
             } 
            } 
          } else { 
            $location = "upload/" . $name; 
            move_uploaded_file($tmp_name , $location); 
            $user = $_SESSION[ "name" ]; 
            $sqlcode = mysql_query("INSERT INTO tblFile (id,user,location) VALUES ('','$user','$location')"); 
            echo "<a href='$location'>Click here to view your image.</a>"; 
          } 
        } 
      } else { 

        echo "Please check the size of your File.."; 
      } 
     } else { 
      echo "Invalid file format."; 
     } 

?> 

インデックスは次のとおりです。

<?php 

session_start(); 
$_SESSION["name"] = "Admin"; 

?> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <title>File Upload</title> 
<link href="styles.css" type="text/css" rel="stylesheet" /> 
</head> 
<body> 


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

Select File: <input type="file" name="uploadFile"> 
<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/> 
<input name="Submit" type="submit" value="Upload File"> 

</form> 

それは、このファイル/それが何か他のものでアップロードして一つのことではない場合。私はまだユーザーが.pngまたは.jpgファイルをアップロードし、サムネイルにイメージのサイズを変更し、サムネイルと通常サイズのイメージの両方のコピーをフォルダに保持する必要があります。また、データベースの新しいテーブルにデータを挿入することができます。私は以前よりももっと近づいていると思う。

+0

コードの一部を編集しようとしましたが、あまりにも面倒です。助けようとする人々が実際にそれを読むことができるように、_清掃してください。私が始めた形式を使用してください。 –

+0

ok私は別の方法に行くことにしました..唯一のことは、invaildファイルのサイズを続けているということです。 – sn1984

+0

無効なファイルサイズはどこですか?無効なファイルサイズは何ですか?私たちに何か協力してください! –

答えて

0

これを試して、私はあなたのコードを再構築し、 'きれいにしました'。

<?php 
session_start(); 
include "connect.php"; 

if($_POST['submit']) { 
    $name = $_FILES['file']['name']; 
    $type = $_FILES['file']['type']; 
    $size = $_FILES['file']['size']; 
    $tmp_name = $_FILES['file']['tmp_name']; 
    $error = $_FILES['file']['error']; 
    if($type == "image/jpeg" || $type == "image/gif" || $type == "image/pjpeg") 
    { 
    if($size > 1100000 && $size < 1700000) 
    { 
     if($error > 0) 
     echo "Error Upload #: " . $error; 
     else 
     { 
     if(file_exists("upload/" . $name)) 
      echo $name . " already exists."; 
     else 
     { 
      $location = "upload/" . $name; 
      move_uploaded_file($tmp_name , $location); 
      $user = $_SESSION[ "name" ]; 
      $sqlcode = mysql_query("INSERT INTO tblFile (id,user,location) VALUES ('','$user','$location')"); 
      echo "<a href='$location'>Click here to view your image.</a>"; 
      } 
     } 
     } 
     else 
     { 
     echo "Invalid file size."; 
     } 
    } 
    else 
    echo "Invalid file format."; 
} 
else 
    // invalid due to post submit not set 
?> 

また、@ jakenobleが提案する変更を適用します。 <input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>

0

この行は、多分あなたの最大ファイルサイズを決定

<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/> 

はそれを増加し、再試行してみ?

<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/> 
0

一体

if ($_SESSION[ "name" ]) { 

を達成することになっては何ですか?この文が失敗すると、出力が得られます。

ifロジックを確認してください(インデントレベルを見れば分かります)。もう一度やり直してください。