使用PHP

时间:2015-11-03 01:13:37

标签: php mysql file upload

美好的一天。我有一个PHP脚本,可以在我的目录中移动多个文件..

$filepath = 'uploads/';
if (isset($_FILES['file'])) {
 $file_id = $_POST['file_id'];
 $count = 0;
foreach($_FILES['file']['tmp_name'] as $k => $tmp_name){
 $name = $_FILES['file']['name'][$k];
 $size = $_FILES['file']['size'][$k];
 if (strlen($name)) {
        $extension = substr($name, strrpos($name, '.')+1);
        if (in_array(strtolower($extension), $file_formats)) { // check it if it's a valid format or not
 if ($size < (2048 * 1024)) { // check it if it's bigger than 2 mb or no
                $filename = uniqid()."-00000-". $name;=
                $tmp = $_FILES['file']['tmp_name'][$k];
                if (move_uploaded_file($tmp_name, $filepath . $filename)) {
 $id = $file_id;
                    $file_path_array = array();
                    $files_path = $filepath . $filename;
                    $file_extension = $extension;
                        foreach($file_name as $k_file_path => $v_file_path){
                            $file_path_array[] = $v_file_path;
                        }
                        foreach($file_extension as $k_file_extension){
                            $file_extension_array[] = $v_file_extension;
                        }
                        $file_path = json_encode($files_path);
                        $file_name = str_replace("\/", "/",$file_path);
                        var_dump($file_name);
  $update = $mysqli->query("UPDATE detail SET file_path='$file_name' WHERE id='$id'");
                } else {
                    echo "Could not move the file.";
                }
            } else {
                echo "Your file is more than 2MB.";
            }
        } else {
                echo "Invalid file format PLEASE CHECK YOU FILE EXTENSION.";
        }
     } else {
        echo "Please select FILE";
     }
   }
    exit();
 }

这是我的PHP脚本,将文件移动到&#39;上传/&#39;目录,我想保存我的数据库的路径。我尝试转储$ file_name,这是我的示例路径如何将其保存到我的数据库..?有什么建议吗?

注意:我已经将文件移动到uploads /目录,我只想保存到我的数据库的路径

string(46) "uploads/5638067602b48-00000-samplePDF.pdf" 
string(46) "uploads/5638067602dee-00000-samplePDF1.pdf" 
string(46) "uploads/5638067602f8d-00000-samplePDF2.pdf"

1 个答案:

答案 0 :(得分:0)

如果你必须将它们存放在一个字段中..

循环内的

$file_name_for_db[]=$file_name;
循环外的

  $update = $mysqli->query("UPDATE detail SET file_path='".json_encode($file_name_for_db)."' WHERE id='$id'");

如果您愿意,可以使用serialize()代替json_encode()