在php和mysql上传后找不到文件

时间:2016-07-15 11:19:53

标签: php mysql web

我想将一些文件上传到我的服务器。到目前为止,它们已经成功存储在MySQL数据库中,但问题是在服务器上的文件夹中找不到上传的文件。

这是我的代码:

$dir = $filename;
    $target_dir = "file/$dir/";
    if( is_dir($target_dir) === false )
    {
        mkdir($target_dir);
    }

if(isset($_POST["submit"])) {
    $formatfile = array('pdf');
    $filetest= $_FILES['filetest']['name'];
    $x = explode('.', $filetest);
    $existence= strtolower(end($x));
    $pdfsize = $_FILES['filetest']['size'];
    $file_tmp = $_FILES['filetest']['tmp_name'];    


    if(in_array($existence, $formatfile) === true){

            if($pdfsize < 1044070){         
                move_uploaded_file($file_tmp, "$target_dir.$filetest");
            }
        }
    }
 $sql = "INSERT INTO test (filename) VALUES ('$filetest')";

我错过了什么吗?

4 个答案:

答案 0 :(得分:1)

请将$formatfile = array('pdf')更改为$formatfile = array('.pdf'=>'application/pdf');

答案 1 :(得分:0)

$ dir = $ filename;这是 $ filename 的价值吗?

请像这样使用。 $ dir ='/ var / www / uploads /';

if(in_array($existence, $formatfile)){
            if($pdfsize < 1044070){         
                move_uploaded_file($file_tmp, "$target_dir.$filetest");
            }
        }
    }

答案 2 :(得分:0)

每当您上传文件时,请查看完整路径。

<?php

$dir = $filename;
$target_dir = dirname(__FILE__).'/file/'.$dir.'/';
if (is_dir($target_dir) === false) {
    mkdir($target_dir);
}
if (isset($_POST['submit'])) {
    $formatfile = array('pdf');
    $filetest = $_FILES['filetest']['name'];
    $x = explode('.', $filetest);
    $existence = strtolower(end($x));
    $pdfsize = $_FILES['filetest']['size'];
    $file_tmp = $_FILES['filetest']['tmp_name'];
    if (in_array($existence, $formatfile) === true) {
        if ($pdfsize < 1044070) {
            move_uploaded_file($file_tmp, $target_dir.$filetest);
        }
    }
}
$sql = 'INSERT INTO test (filename) VALUES ('.$filetest.')';

答案 3 :(得分:-1)

$dir = $filename;
    $target_dir = "file/$dir/";
    if( is_dir($target_dir) === false )
    {
        mkdir($target_dir);
    }

if(isset($_POST["submit"])) {
    $formatfile = array('pdf');
    $filetest= $_FILES['filetest']['name'];
    $x = explode('.', $filetest);
    $existence= strtolower(end($x));
    $pdfsize = $_FILES['filetest']['size'];
    $file_tmp = $_FILES['filetest']['tmp_name'];    


    if(in_array($existence, $formatfile) === true){

            if($pdfsize < 1044070){         
                //Remove ""
                move_uploaded_file($file_tmp, $target_dir.$filetest);
                //If file upload then and then execute query.
                $sql = "INSERT INTO test (filename) VALUES ('$filetest')";
            }else{
                 //Fire error
            }
        }else{
           //Fire error
        }
    }else{
         //Fire error
    }