文件上传成功,但php中缺少文件


File upload is successful but file is missing in php

我遇到了这个问题,上传成功了,但当我转到上传的目录时,文件不在那里。。。我在final_path上执行了echo,这正是我希望上传文件的目录。

$final_path=public_path('attachment'states');
$final_filename =  md5(date("Y-m-d H:i:s")).rand().'.png';
if(move_uploaded_file($_FILES['file']['tmp_name'], $final_path/$final_filename))
{echo 'good'. $final_path; }
else
{ echo 'bad';}

输出为:

goodC:'xampp'htdocs'panel'public'attachment'states

怎么了?

此操作对两个字符串执行除法运算,而不是为您提供所需的路径。事实上,没有得到被零整除错误的唯一原因是$final_filename以数字开头。试试这个:

if (move_uploaded_file($_FILES['file']['tmp_name'], $final_path . DIRECTORY_SEPARATOR . $final_filename))

我建议使用Laravel函数来移动上传的文件。例如

class MyController extends Controller{
    public function fileUpload(Request $request){
        if (!$request->hasFile('file')) {
            // file not received
        }
        if (!$request->file('file')->isValid()) {
            // file is not valid
        }
        $final_path = public_path() . "'attachment'states''";
        $final_filename =  md5(date("Y-m-d H:i:s")).rand().'.png';
        $request->file('photo')->move($final_path, $final_filename);
        return 'File uploaded correctly';

    }
}