2016-08-21 130 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'; 
    } 
?>