PHP:move_uploaded_file问题。这有什么不对?

时间:2012-04-16 14:04:40

标签: php file-upload

我很难完成这项工作,而我还没有想出一个工作场景。基本上,这是一个简单的用户友好的管理员,应该上传图像。但是,我无法上传工作。文件名正好被添加到数据库中,但图像不会上传。

以下是代码:

function editMain($data){
  array_pop($data);
  $where = "main_id = {$data['main_id']}";
  unset($data['main_id']);
//upload image
if ($_FILES['main_picture']['size'] > 1){ //if image deal with it
  $data['main_picture'] = '/images/'.$_FILES['main_picture']['name'];
  $uploadedfile = $_FILES['main_picture']['tmp_name'];
  if (move_uploaded_file($uploadedfile, SITE_ROOT.$data['main_picture']))
  echo "successfully uploaded {$data['main_picture']}<br />";
  else 
  echo "failed to upload {$data['main_picture']}<br />";
}

感谢您提前寻找并感谢我指出了正确的方向!

2 个答案:

答案 0 :(得分:2)

SITE_ROOT需要是本地目录,即“C:\...”或“/home/...”,它不能是网址结构。将其更改为应该上载文件的本地目录,检查权限,你应该很高兴。

答案 1 :(得分:0)

我这样使用它:

   if(!is_dir($dir = $_SERVER['DOCUMENT_ROOT']."/fies_path"))mkdir($dir);
    move_uploaded_file($_FILES['file']['tmp_name'],$src = $dir."/$file_name.ext");