2012-03-26 6 views
0

Ich kann nicht die Ursache dieses Fehlers scheinen, um herauszufinden, wenn ein Bild hochladenkohana Datei Validieren Fehler

$imagevalidate = Validate::factory($_FILES); 
$imagevalidate->rules($_FILES['profile_picture'], array(
    'Upload::valid' => array(), 
    'Upload::not_empty' => array(), 
    'Upload::type' => array(
     'Upload::type' => array(
      'jpg', 
      'png', 
      'gif' 
     ) 
    ), 
    'Upload::size' => array(
     '1M' 
    ) 
)); 
if ($imagevalidate->check()) { 
    $picture = Upload::save($_FILES['profile_picture']); 
    Image::factory($picture)->resize(200, 200, Image::WIDTH)->save(); 
    $profile->profile_picture = basename($picture); 
} else { 
    $errors = $imagevalidate()->errors('profile/edit'); 
} 

ich diesen Fehler Error [Warnung] bin immer zu bestätigen versuchen: Illegal Art in isset Offset- oder leer

+0

Was ist die Version von Kohana? – Rojan

Antwort

2

in 3.2 Beispiel passieren:

$array = Validation::factory($_FILES); 
    $array->rule('file', 'Upload::size', array(':value', '900KiB')); 
    $array->rule('file', 'Upload::type', array(':value', array('jpg', 'png', 'gif'))); 
    $array->rule('file', 'Upload::image', array(':value', array(640, 480))); 
    $array->rule('file', 'Upload::valid'); 

    if($array->check()) 
    { 
     if(Upload::save($_FILES['file'])) 
      echo 'uploaded'; 
    } 
    else 
    { 
     echo Debug::vars($array->errors('profile/edit')); 
    } 

Nachrichten-Datei:

return array(
'file' => array(
    'Upload::type' => 'blabla', 
    'Upload::size' => 'blabla', 
    'Upload::image' => 'blablan', 
    'Upload::valid' => 'blablabla' 
), 

);

un .. hoffe hilfreich :)

+0

anscheinend Upload :: Bild erlaubt nicht für "leere" Dateien und im Gegensatz zu den anderen 3 Regeln, wird es einen Überprüfungsfehler werfen, wenn keine Datei an das Formular übergeben wird und Ihr Beispiel würde in einem solchen Fall fehlschlagen. – techexpert