2016-08-21 149 views
0

IM試圖將圖片上傳到一個文件夾,圖像不會上傳壽,我試過幾個代碼,如:PHP的圖片上傳不會保存圖片到ftp

tutorialspoint.com/php/php_file_uploading.htm 或 www.w3schools.com/php/php_file_upload.asp 但它永遠不會上傳圖片,我也授予777文件夾和文件本身的權利。有誰知道可能導致它的原因?

我的代碼看起來像以下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Fds upload</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
</head> 
<body> 
    <form method="post"> 
     Enter username: 
     <input type="username" placeholder="Enter username"> 
     Enter password: 
     <input type="password" placeholder="Enter password"> 
     Enter design name: 
     <input type="text" name="design_name" placeholder="Enter name" class="form-control"> 
     Select gender: 
     <select name="fds_gender" id="fds_gender"> 
      <option value="stud">Male</option> 
      <option value="babe">Female</option> 
     </select> 
     Select category: 
     <select name="categories" id="fds_categories"> 
      <option value="20080687">Hairs: 25 Zcard</option> 
      <option value="20080847">Shirts: 1000 Zbucks</option> 
      <option value="20080836">Shirts: 25 Zcard</option> 
      <option value="20080934">Jackets: 25 Zcard</option> 
      <option value="20080934">Jackets: 25 Zcard</option> 
      <option value="20080849">Bottoms: 25 Zcard</option> 
      <option value="20080988">Shoes: 800 Zbucks</option> 
      <option value="20080992">Shoes: 25 Zcard</option> 
      <option value="20081034">Gloves: 25 Zcard</option> 
      <option value="20081014">Belts: 500 Zbucks</option> 
      <option value="20081015">Belts: 25 Zcard</option> 
      <option value="20081004">Scarves: 10 Zcard</option> 
      <option value="20080941">Hats: 10 Zcard</option> 
      <option value="20080834">Bags: 20 Zcard</option> 
      <option value="20081049">Misc: 25 Zcard</option> 
      <option value="20081020">Masks: 10 Zcard</option> 
     </select> 
     Select image to upload: 
     <input type="file" name="fileToUpload" id="fileToUpload"> 
     <button type="submit">Upload design</button> 
    </form> 

    <?php 
     if(!empty($_POST)){ 
      // Image upload code using the following foldername: uploads 
     } 
    ?> 

    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#fds_gender").change(function() { 
       var gender = $(this).val(); 
       $.ajax({ 
        type: "POST", 
        data: { 
         "gender" : gender 
        }, 
        url: "ajax/fds_categories_ajax.php", 
        success: function(data){ 
         $("#fds_categories").empty(); 
         $.each($.parseJSON(data), function(index, element) { 
          if(gender == 'stud'){ 
           if(element.p == 0){ 
            $("#fds_categories").append(
             $('<option></option>').val(element.id).html(element.name + ": " + element.pb + ' Zbucks') 
            ); 
           }else{ 
            $("#fds_categories").append(
             $('<option></option>').val(element.id).html(element.name + ": " + element.p + ' Zcard') 
            ); 
           } 
          }else{ 
           if(element.p == 0){ 
            $("#fds_categories").append(
             $('<option></option>').val(element.id).html(element.name + ": " + element.pb + ' Zbucks') 
            ); 
           }else{ 
            $("#fds_categories").append(
             $('<option></option>').val(element.id).html(element.name + ": " + element.p + ' Zcard') 
            ); 
           } 
          } 
         }); 
        } 
       }); 
      }); 
     }); 
    </script> 
</body> 
</html> 
+0

這裏是處理上傳本身雖然代碼? – RamRaider

+0

測試了我發佈php的url的代碼 – pr0b

回答

2

可以確保您的表格已經正確參數,比如:ENCTYPE = 「的multipart/form-data的」

0

正如指出的@corey你需要處理文件上傳時,將表單的enctype屬性設置爲multipart/form-data。在許多情況下,可能並且實際上希望添加隱藏輸入來限制文件大小,以防止大文件花費很長時間來處理/失敗,但這不是必需的。在服務器端它是$_FILES數組,你需要檢查,而不是$_POST

<form method="post" enctype='multipart/form-data'> 
    Enter username: 
    <input type="username" placeholder="Enter username"> 
    Enter password: 
    <input type="password" placeholder="Enter password"> 
    Enter design name: 
    <input type="text" name="design_name" placeholder="Enter name" class="form-control"> 
    Select gender: 
    <select name="fds_gender" id="fds_gender"> 
     <option value="stud">Male</option> 
     <option value="babe">Female</option> 
    </select> 
    Select category: 
    <select name="categories" id="fds_categories"> 
     <option value="20080687">Hairs: 25 Zcard</option> 
     <option value="20080847">Shirts: 1000 Zbucks</option> 
     <option value="20080836">Shirts: 25 Zcard</option> 
     <option value="20080934">Jackets: 25 Zcard</option> 
     <option value="20080934">Jackets: 25 Zcard</option> 
     <option value="20080849">Bottoms: 25 Zcard</option> 
     <option value="20080988">Shoes: 800 Zbucks</option> 
     <option value="20080992">Shoes: 25 Zcard</option> 
     <option value="20081034">Gloves: 25 Zcard</option> 
     <option value="20081014">Belts: 500 Zbucks</option> 
     <option value="20081015">Belts: 25 Zcard</option> 
     <option value="20081004">Scarves: 10 Zcard</option> 
     <option value="20080941">Hats: 10 Zcard</option> 
     <option value="20080834">Bags: 20 Zcard</option> 
     <option value="20081049">Misc: 25 Zcard</option> 
     <option value="20081020">Masks: 10 Zcard</option> 
    </select> 
    Select image to upload: 
    <input type="hidden" name="MAX_FILE_SIZE" value="2097152" /> 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <button type="submit">Upload design</button> 
</form> 

<?php 

    $field='fileToUpload'; 
    $dir = 'uploads'; 

    if(isset($_FILES[ $field ])){ 

     $name = $_FILES[ $field ]['name']; 
     $size = $_FILES[ $field ]['size']; 
     $tmp = $_FILES[ $field ]['tmp_name']; 
     $type = $_FILES[ $field ]['type']; 
     $ext = strtolower(pathinfo($name, PATHINFO_EXTENSION)); 
     $target = realpath($_SERVER['DOCUMENT_ROOT'] . '/' . $dir); 

     if($target) $result = move_uploaded_file($tmp, $target . $name); 
     echo $result ? 'Success' : 'Failed'; 
    } 
?>