} $total = count($_FILES['files']['tmp_name']); setlocale(LC_CTYPE, "ko_KR.UTF-8"); $root = $repo->getRepositoryPath(); $result = array(); $file_names = array(); for ($i = 0; $i < $total; $i++) { $name = $_FILES['files']['name'][$i]; $tmp_name = $_FILES['files']['tmp_name'][$i]; $error = $_FILES['files']['error'][$i]; $filename = $root . '/' . $name; $filename = file_numbering($filename); $is_uploaded = false; if ($error == UPLOAD_ERR_OK) { $is_uploaded = @move_uploaded_file($tmp_name, $filename); if ($is_uploaded) { $name = end(explode('/', $filename)); // git add $repo->addFile($name); // 권한 넣기 chmod($name, 0666); } else { } } $result[$i] = array('created_filename' => $filename, 'name' => $name, 'uploaded' => $is_uploaded, 'error' => $error); $file_names[] = $name; } // commit 하기 $commit_message = "upload files : " . implode(",", $file_names); $repo->commit($commit_message); die(json_encode(array('result' => $result)));
$dir = REPOSITORY . '/' . $id . '/'; $repo = new GitRepository($dir); // create a new file in repo $filename = $dir . $_POST['filename']; if (file_exists($filename)) { echo json_encode(array('result' => false, 'message' => 'already file is exists')); return; } $arr = array_map('trim', explode("/", $filename)); $is_dir = array_pop($arr) == ''; setlocale(LC_CTYPE, "ko_KR.UTF-8"); $repo->setConfig($_SESSION['username']); $repo->setConfigExt('core.quotepath false'); if ($is_dir) { mkdir($filename, 0777, true); $repo->addFile($filename); echo json_encode(array('result' => true, 'message' => 'directory is success')); exit; } else { if (!is_support_type($filename)) { echo json_encode(array('result' => false, 'message' => 'file type is not supported type')); return; } mkdir(dirname($filename), 0777, true); file_put_contents($filename, ""); $repo->addFile($filename); // 권한 넣기 chmod($filename, 0666); $repo->commit("add " . $filename, "-a"); echo json_encode(array('result' => true, 'message' => 'file is success')); exit;