首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP图片上传的奇怪问题

PHP图片上传的奇怪问题
EN

Stack Overflow用户
提问于 2012-04-01 15:58:04
回答 1查看 1.1K关注 0票数 0
代码语言:javascript
复制
<?
if(isset($_POST['submit'])){

$url = 'http://www.connectedcampus.org/ckeditor/images/uploads/';

if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
{
   $message = "No file uploaded.";
}
else if ($_FILES['upload']["size"] == 0)
{
   $message = "The file is of zero length.";
}
else if (($_FILES['upload']["type"] != "image/pjpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/png"))
{
   $message = "The image must be in either JPG or PNG format. Please upload a JPG or PNG instead.";
}
else if($_FILES["file"]["size"] > 1000000){
    $message = "File size too big!";
}
else if(file_exists($url.$_FILES["file"]["name"]))
  {
  $message=$_FILES["file"]["name"] . " already exists. ";
  }
else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
{
   $message = "Invalid File!";
}
else {
  $message = "success!";
  $move = move_uploaded_file($_FILES['upload']['tmp_name'], $url.$_FILES['upload']['name']);
  echo $_FILES['upload']['tmp_name']."<br>";
  echo $url.$_FILES['upload']['name'];
  if(!$move)
  {
     $message = "Error moving uploaded file.";
  }
  $url = $url.$_FILES['upload']['name'];
}
 echo $message;
 </script>";
 }
 ?>

这将打印“错误移动上传的文件”,这意味着move_uploaded_file($_FILES‘’upload‘,$URL.$_FILES’‘upload’)返回false。但是我有500%的把握,我已经正确地创建了http://www.connectedcampus.org/ckeditor/images/uploads/文件夹...那么为什么会有错误呢?

好的,现在改成:

代码语言:javascript
复制
$url = 'bloguploads/';

    if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
    {
       $message = "No file uploaded.";
    }
    else if ($_FILES['upload']["size"] == 0)
    {
       $message = "The file is of zero length.";
    }
    else if (($_FILES['upload']["type"] != "image/pjpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/png"))
    {
       $message = "The image must be in either JPG or PNG format. Please upload a JPG or PNG instead.";
    }
else if($_FILES["file"]["size"] > 1000000){
       $message = "File size too big!";
}
else if(file_exists($url.$_FILES["file"]["name"]))
    {
       $message=$_FILES["file"]["name"] . " already exists. ";
    }
    else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
    {
       $message = "Invalid File!";
    }
    else {
       $message = "";
       $move = move_uploaded_file($_FILES['upload']['tmp_name'], $url.$_FILES['upload']['name']);
       if(!$move)
       {
           $message = "Error moving uploaded file.";
       }
       $url = $url.$_FILES['upload']['name'];
       }
echo $message;
</script>";
?>

现在的问题是,它说“已经存在”。为什么?我可以通过ftp客户端看到文件尚未上传

EN

回答 1

Stack Overflow用户

发布于 2012-04-01 16:02:32

move_uploaded_file适用于文件系统,而不是urls。

而不是$url in

代码语言:javascript
复制
move_uploaded_file($_FILES['upload']['tmp_name'], $url.$_FILES['upload']['name']);

使用文件系统路径,即:

代码语言:javascript
复制
move_uploaded_file($_FILES['upload']['tmp_name'], "/home/www/uploads/".$_FILES['upload']['name']);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9962827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档