我遇到了这个问题,上传成功了,但当我转到上传的目录时,文件不在那里。。。我在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';
}
}