move_uploaded_file函数在godaddy中不起作用?

时间:2015-04-16 04:49:47

标签: php

我目前遇到问题,我已经尝试了很多关于这个主题的搜索,但我仍然无法找到为什么move_uploaded_file不能正常工作的答案,我能够使用mkdir()创建目录但移动文件似乎没有工作,我也尝试创建自定义的php.ini文件,其中包含file_uploads = on但仍然没有任何反应,甚至我的目录创建也具有0755或755写入和读取权限。

我已尝试添加分隔符,如下所示,几乎所有内容但仍未发生任何事情,我真的需要移动我上传的内容,我会很感激。

这是我的代码:

<?php
  //Profile Image upload script
  if (isset($_FILES['profilepic'])) {
   if (((@$_FILES["profilepic"]["type"]=="image/jpeg") || (@$_FILES["profilepic"]["type"]=="image/png") || (@$_FILES["profilepic"]["type"]=="image/gif"))&&(@$_FILES["profilepic"]["size"] < 1048576)) //1 Megabyte
  {
   $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   $rand_dir_name = substr(str_shuffle($chars), 0, 15);
   $dir = "./userdata/profile_pics/$rand_dir_name";
   mkdir($dir);
   if(is_dir($dir . "/" .$_FILES["profile‌​pic"]["name"])) {
   echo "sdsadsad";
   }
   move_uploaded_file($_FILES["profilepic"]["tmp_name"], $dir . "/" .$_FILES["profile‌​pic"]["name"]);
    $profile_pic_name = $_FILES["profilepic"]["tmp_name"];
    echo $profile_pic_name;
    $profile_pic_query = mysqli_query($conn,"UPDATE users2 SET profile_pic='$rand_dir_name/$profile_pic_name' WHERE username='$user'");

  }
  else
  {
      $msg5 =  "Invailid File! Your image must be no larger than 1MB and it must be either a .jpg, .jpeg, .png or .gif";
  }
  }

?>

以下是表格:

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="profilepic" /><br><br>
<input type="submit" name="uploadpic" value="Change Profile Photo">
</form>

2 个答案:

答案 0 :(得分:1)

Try this

$old_umask = umask(0);
mkdir($dir, 0777);
umask($old_umask);

答案 1 :(得分:1)

尝试其中一个

    <?php 
    // Read and write for owner, nothing for everybody else
    chmod("/somedir/somefile", 0600); 
    // Read and write for owner, read for everybody else
    chmod("/somedir/somefile", 0644);
    ?>

之前移动它