我有以下代码上传pdf。
首先我看看pdfs文件夹是否存在,如果不存在,我用mkdir()
创建文件夹,然后在创建文件夹时我进行上传。
但我有错误:
警告:mkdir():文件存在于
mkdir($folder.'-'.$year.'/'.$month,0755);
然后,由于此错误,我收到其他错误,因为该目录不存在:
move_uploaded_file(../ pdfs / -2014 / 05 / Food - FROM-2014-08-12-A-2014-05-16.pdf):无法打开流:没有这样的文件或目录在
$pdf_name = 'Food-'.'-From-'.$date_begin.'-TO-'.$date_end;
你看到错误在哪里?因为它对我来说似乎很好......
if(!empty($_FILES['pdf']['tmp_name'])){
$folder = '../pdfs/';
$year = date('Y');
$month = date('m');
if(!file_exists($folder.'-'.$year)){
mkdir($month.'-'.$year,0755);
}
if(!file_exists($pasta.'-'.$year.'/'.$month)){
mkdir($folder.'-'.$year.'/'.$month,0755);
}
$pdf = $_FILES['pdf'];
$ext = substr($pdf['name'],-3);
$f['pdf'] = $year.'/'.$month.'/'.$f['level'].'.'.$ext;
$pdf_name = 'Food-'.'-From-'.$date_begin.'-TO-'.$date_end;
move_uploaded_file($pdf['tmp_name'], $folder.'-'.$year.'/'.$month.'/'.$pdf_name.'.'.$ext);
}
这是我的代码更新,只有mkdir部分,我收到了错误:
if(!empty($_FILES['pdf']['tmp_name'])){
$folder = '../pdfs/';
$year = date('Y');
$month = date('m');
if(!file_exists($folder.$year)){
mkdir($folder.$year,0755);
}
我有错误: 警告:mkdir():mkdir中没有这样的文件或目录($ folder。$ year,0755)
答案 0 :(得分:2)
代码中似乎存在许多问题。但我怀疑主要的问题是你说的是
$folder = '../pdfs/';
然后想要测试是否有" ../ pdfs / -2014"在
if(!is_dir($folder.'-'.$year)){
试图创造如“#34; ../ pdfs / -2014 / 5"在
mkdir($folder.'-'.$year.'/'.$month,0755);
文件名中的大多数file systems are sensitive about odd characters。我怀疑
BTW:您可能希望查看recursive parameter on mkdir以在路径中创建目录。它应该减少代码
答案 1 :(得分:0)
试试这个:
if(!empty($_FILES['pdf']['tmp_name'])){
$folder = '../pdfs/';
$year = date('Y');
$month = date('m');
if(!is_dir($folder.'-'.$year)){
mkdir($month.'-'.$year,0755);
}
if(!is_dir($folder.'-'.$year.'/'.$month)){
mkdir($folder.'-'.$year.'/'.$month,0755);
}
$pdf = $_FILES['pdf'];
$ext = substr($pdf['name'],-3);
$f['pdf'] = $year.'/'.$month.'/'.$f['level'].'.'.$ext;
$pdf_name = 'Food-'.'-From-'.$date_begin.'-TO-'.$date_end;
move_uploaded_file($pdf['tmp_name'], $folder.'-'.$year.'/'.$month.'/'.$pdf_name.'.'.$ext);
}