【问题标题】:Can't save image by php无法通过php保存图像
【发布时间】:2021-10-20 12:49:25
【问题描述】:

我有这段代码,我想写一个文件到服务器并保存到数据库,问题是文件没有保存。

if (($_FILES['thumbnail']['name']!="")){
        $target_dir = "img/";
        $file = $_FILES['thumbnail']['name'];
        $path = pathinfo($file);
        $filename = $path['filename'];
        $ext = $path['extension'];
        $temp_name = $_FILES['thumbnail']['tmp_name'];
        $path_filename_ext = $target_dir.$filename.".".$ext;
       
       var_dump(move_uploaded_file($temp_name,$path_filename_ext));

      }

在错误中它返回:

Warning
: move_uploaded_file(img/textak.txt): failed to open stream: Permission denied in
/home/kloucto2/www/create_new_article.php
on line
21


Warning
: move_uploaded_file(): Unable to move '/tmp/phpxRsCsr' to 'img/textak.txt' in
/home/kloucto2/www/create_new_article.php
on line
21

bool(false)

表格如下所示:

 <form id="article-form" class="login-form" enctype="multipart/form-data" method="POST" action="">
            <label for="thumbnail">Vyber thumbnail pro článek:</label>
            <input type="file" form='article-form' id="thumbnail" name="thumbnail">
        </form>

【问题讨论】:

  • 您可能会找到答案here

标签: php forms


【解决方案1】:

我没有其他人设置的 +w 权限

【讨论】:

    【解决方案2】:

    这里是如何在php中上传文件

    if (isset($_FILES['thumbnail'])){
        $target_dir = __DIR__ . "/img/";
        $data = $_FILES['thumbnail'];
        $filename = $data['name'];
        $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
        $rawData = $data['tmp_name'];
    
    
        $path_filename_ext = $target_dir . $filename . "." . $ext;
    
        if(!is_dir($target_dir)){
           // Create directory with permission 
            mkdir($target_dir, 0777, true);
            chmod($target_dir, 0755);
        }
        
        if(file_exists($path_filename_ext)){
           //Save with new name by appending date in front
            $path_filename_ext =  $target_dir . date("d-m-h-m-s") . "-" .$filename . "." .$ext;
        }
    
       if(move_uploaded_file($rawData, $path_filename_ext)){
           //var_export($_FILES);
           echo "Upload completed";
       }else{
          echo "Upload failed"
       }
    }
    

    【讨论】:

    • 谢谢,但还是报同样的错误
    • @ToklCz 确保您保存上传的路径具有读/写权限
    猜你喜欢
    • 1970-01-01
    • 2018-10-09
    • 2012-02-03
    • 2016-05-17
    • 2012-12-20
    • 2018-04-27
    • 2015-08-22
    • 2016-05-19
    • 2021-05-28
    相关资源
    最近更新 更多