2014-05-22 46 views
5

AngularJS'de resim yükleme ile ilgili bir sorunum var. Ben https://github.com/danialfarid/angular-file-uploadAngularJS Resim yükleyin php kullanarak

Sorunum yüklemeyi deneyin benim görüntü benim php dosyasına göndermek olmamasıdır kullanmayı deneyin başka soru gibi Angularjs - File upload with php

: Ben burada bu soruyu buldum.

Kullandığım kod İşte.

PlayerController.js

angular.module('lax').controller('PlayerController', function($scope, $http, $upload) { 

$scope.onFileSelect = function($files) { 
    $scope.message = ""; 
    for (var i = 0; i < $files.length; i++) { 
     var file = $files[i]; 
     console.log(file); 
     $scope.upload = $upload.upload({ 
      url: 'php/upload.php', 
      method: 'POST',    
      file: file 
     }).success(function(data, status, headers, config) { 
      $scope.message = data;     
     }).error(function(data, status) { 
      $scope.message = data; 
     }); 
    } 
}; 
}); 

HTML

<div ng-show="newplayer.functie == 'update'"> 
         <h3>Profile Pic</h3>       
         <div> 
          <input type="file" name="image" id="image" ng-file-select="onFileSelect($files)"> 
          <br/> 
          <span class="errorMsg">{{ message}}</span> 
         </div> 

        </div> 

Yani upload.php

<?php 
    if(isset($_FILES['image'])){  
     $errors= array();   
     $file_name = $_FILES['image']['name']; 
     $file_size =$_FILES['image']['size']; 
     $file_tmp =$_FILES['image']['tmp_name']; 
     $file_type=$_FILES['image']['type']; 
     $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION)); 
     $extensions = array("jpeg","jpg","png");   
     if(in_array($file_ext,$extensions)=== false){ 
      $errors[]="image extension not allowed, please choose a JPEG or PNG file."; 
     } 
     if($file_size > 2097152){ 
      $errors[]='File size cannot exceed 2 MB'; 
     }    
     if(empty($errors)==true){ 
      move_uploaded_file($file_tmp,"../../Img/PlayerAvatar/".$file_name); 
      echo $fname . " uploaded file: " . "images/" . $file_name; 
     }else{ 
      print_r($errors); 
     } 
    } 
    else{ 
     $errors= array(); 
     $errors[]="No image found"; 
     print_r($errors); 
} 
?> 

"if (isset ($ _ FILES [ 'görüntü']))" verir sonuç olarak yanlış. Ben herhangi bir noob soruları için özür dilerim stackoverflow ve angularJS için yeniyim.

+0

Merhaba, sunucuya muliple görüntüleri yüklemek için bana açısal 2/4 için bir örnek/bağlantısını sağlayabilir: Sorun görüntü dosyası O olmalıydı olmalıydı $ _FILES [ 'resim'] ile oldu . –

cevap

9

PHP'mde bir sorun vardı.

<?php 
    if(isset($_FILES['file'])){  
    $errors= array();   
    $file_name = $_FILES['file']['name']; 
    $file_size =$_FILES['file']['size']; 
    $file_tmp =$_FILES['file']['tmp_name']; 
    $file_type=$_FILES['file']['type']; 
    $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION)); 
    $extensions = array("jpeg","jpg","png");   
    if(in_array($file_ext,$extensions)=== false){ 
     $errors[]="image extension not allowed, please choose a JPEG or PNG file."; 
    } 
    if($file_size > 2097152){ 
     $errors[]='File size cannot exceed 2 MB'; 
    }    
    if(empty($errors)==true){ 
     move_uploaded_file($file_tmp,"PlayerAvatar/".$file_name); 
     echo " uploaded file: " . "images/" . $file_name; 
    }else{ 
     print_r($errors); 
    } 
} 
else{ 
    $errors= array(); 
    $errors[]="No image found"; 
    print_r($errors); 
} 
?> 
+1

bir dahaki sefere, sadece – MouradK

+0

şartlarını html'inizin tamamını yayınlayabilirseniz bir var_dump ($ _FILES) ile hata ayıklamaya çalışın? – Zypps987

İlgili konular