@mkdir(EDITOR_YM_PATH, 0707); @chmod(EDITOR_YM_PATH, 0707); //기본 리다이렉트 echo $_REQUEST["htImageInfo"]; $filename = $_FILES['Filedata']['name']; $tmp_name = $_FILES['Filedata']['tmp_name']; preg_match("/(\\.[\\w]+)\$/", $filename, $matches); $ext = strtolower($matches[1]); $bFileFormat = false; switch ($ext) { case '.gif': case '.png': case '.jpg': $bFileFormat = true; } $url = $_REQUEST["callback"] . '?callback_func=' . $_REQUEST["callback_func"]; $bSuccessUpload = is_uploaded_file($tmp_name); if ($bFileFormat && $bSuccessUpload) { //성공 시 파일 사이즈와 URL 전송 $real_filename = duplicate_filename(EDITOR_YM_PATH, $filename); @move_uploaded_file($tmp_name, EDITOR_YM_PATH . '/' . $real_filename); $url .= '&bNewLine=true'; $url .= '&sFileName=' . $real_filename; //$url .= '&size='. $_FILES['Filedata']['size']; //아래 URL을 변경하시면 됩니다. $url .= '&sFileURL=' . EDITOR_YM_URL . '/' . $real_filename; } else { //실패시 errstr=error 전송 $url .= '&errstr=error'; } header('Location: ' . $url);
private function doUpload() { if (!empty($_FILES)) { $file = $_FILES['uploaded']; $file_name = clean_filename($file['name']); // TODO: mettre le dosser d'upload dans des configs $path = '/uploads/' . date('Y') . '/' . date('m'); $full_path = $path . '/' . duplicate_filename(ROOT . '/www/' . $path, $file_name); $to_path = ROOT . '/www/' . $full_path; @mkdir(dirname($to_path), 0755, true); move_uploaded_file($file['tmp_name'], $to_path); if (isset($_POST['name']) && $_POST['name']) { $name = $_POST['name']; } else { $name = InflectionComponent::humanize(preg_replace('~\\.(.*?)$~', '', $file['name'])); } $info = getimagesize($to_path); $File = new Library(); $File['name'] = $name; $File['path'] = $full_path; $File['width'] = $info[0]; $File['height'] = $info[1]; $File['type'] = $info['mime']; $File->save(); return $File['id']; } }
function duplicate_filename($path, $filename) { if (file_exists(str_replace('//', '/', $path . '/' . $filename))) { return duplicate_filename($path, inc_filename($filename)); } return $filename; }