2013-05-09 81 views
0

我有一个PHP页面应该存储上传的图像到我的服务器。当我运行这个,我得到“上传成功”的消息,但图片尚未上传。 它可能是什么?上传成功,但图片不存在

更新:人们可以留下评论,为什么他们投了我的问题。我在这里是新的,我不知道为什么这个问题被投票。谢谢

<? 

if(!empty($_FILES['uploaded_file'])) { 
    if ($_FILES['uploaded_file']['error'] > 0) 
     echo "Error: " . $_FILES['uploaded_file']['error'] . "<br />"; 
    else{ 
     // Add the original filename to target path. 
     $target_path = 'MemberPics\\user'.$userid.'.jpg' ; 
     $success = move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $target_path); 

     if(!$success) { 
      echo "There was an error uploading the file, please try again!"; 
     }else { 
      echo "Upload successful, please go back to your home page"; 

     }  
    } 
} 
?> 
+2

可能是因为您的保存位置是不正确尝试。 $ target_path ='MemberPics/user'。$ userid。'。jpg'; – 2013-05-09 01:29:14

回答

1

我相信你遇到的问题是你将图像保存在一个不正确的位置(从链接语法的外观无效)。

这些任选其一:

$target_path = 'MemberPics/user'.$userid.'.jpg' ; 

move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], "MemberPics/user" . $_FILES["uploaded_file"]["name"]); 
+0

解决了这个问题。但是现在我很好奇为什么“\\”不起作用。根据php手册:“要指定文字反斜杠,请将其加倍(\\\)。” – Siavash 2013-05-09 19:06:38

+1

通常在浏览您的后端文件系统时,文件夹会指定“文件夹/”,可能您可能将它与“//”混合在一起,因为我在网站上注意到您尝试使用“\\”时会将其更改为“/ /”。所以也许如果你尝试了“//”,它会起作用;我只是使用“/”,因为这是更标准的做法。 – 2013-05-09 19:24:48

相关问题