2011-12-04 10 views
0

확인 다른 방법으로 다시 시도하기로 결정했습니다. 이것은 잘못된 코드 크기로 잘못된 코드가 계속 표시됩니다.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

나는 다른 길로 가기로 결심했다. 유일한 것은 그것이 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 로직 (들여 쓰기 레벨을 보면 쉽게 볼 수 있음)을 확인하고 다시 시도하십시오.

관련 문제