2016-01-04 101 views
-1

我想创建一个网站,图片可以上传并保存到服务器中的文件夹中。但是,如果代码没有超过第二个代码。有什么我失踪?提前致谢。PHP图片上传问题

的PHP:

if (isset($_FILES["file"]["name"])){ 
     if($_FILES['image']['error']==0){ 
      $file = $_FILES['image']['tmp_name']; 
      $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
      $image_name= addslashes($_FILES['image']['name']); 

      $newname = $erabiltzaile.".png"; 

      $target = 'irudiak/profile/users/'.$newname; 
      move_uploaded_file($_FILES['image']['name'], $target); 

     } 
    }else{ 
     $image=null; 
     $image_name=""; 

    } 

的HTML:

<div id='igoera'> 
<input name='image' id ='image' type='file' accept='image/png' onchange='loadFile(event)' /><br /><br /> 
<img width='300' id='preview'/><br> 
</div> 
+0

如果你回声'$ _FILES [ '形象'] [会发生什么'错误']'? –

回答

0

在手动有它显示了$_FILES阵列中的误差变量中的值上的文件上传http://php.net/manual/en/features.file-upload.php的截面。

成功上传应导致错误值为UPLOAD_ERR_OK

因此改变第二if条件:

if($_FILES['image']['error']=='UPLOAD_ERR_OK'){ 
1

看起来你已经错过了你的病情input file name

if (isset($_FILES["image"]["name"])){ 
+0

哦,是的 - 我错过了那一个。它现在总是会返回false。 –

+0

嗯...非常感谢,但它不起作用。我有更多的细节可以帮助。我无法让代码通过第一行,它似乎总是返回false。我已经尝试了两个'if(isset($ _ FILES [“image”] [“name”])){'和'if(isset($ _ FILES [“file”] [“name”])){'成功。 –

+0

'var_dump($ _ FILES [“image”])'此刻返回什么? – RomanPerekhrest