Changeset 2109
- Timestamp:
- Mar 15, 2007, 5:13:44 PM (15 years ago)
- Location:
- OpenPNE/branches/ebihara/prj_dev28_fileupload
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/branches/ebihara/prj_dev28_fileupload/public_html/download.php
r2107 r2109 6 6 7 7 require_once './config.inc.php'; 8 9 8 10 9 //SNSにログインしているかどうか -
OpenPNE/branches/ebihara/prj_dev28_fileupload/webapp/lib/db/file.php
r2105 r2109 32 32 } 33 33 34 /** 35 * ファイル情報をDBに挿入する 36 * 37 * @param string $filename 38 * @param string $bin 39 * @param string $type 40 * @return mixed 41 */ 42 function db_file_insert_c_file($filename, $bin, $type = '') 43 { 44 $data = array( 45 'filename' => $filename, 46 'bin' => $bin, 47 'type' => $type, 48 'r_datetime' => db_now(), 49 ); 50 return db_insert('c_file', $data, 'c_file_id'); 51 } 52 53 /** 54 * ファイル名からファイル実体を取得 55 * 56 * @param string $filename 57 * @return mixed 58 */ 59 function db_file_c_file4filename($filename) 60 { 61 $sql = 'SELECT * FROM c_file WHERE filename = ?'; 62 $params = array($filename); 63 return db_get_row($sql, $params); 64 } 65 34 66 ?> -
OpenPNE/branches/ebihara/prj_dev28_fileupload/webapp/lib/util/upload.php
r2108 r2109 9 9 * 10 10 * 保存先: var/tmp/ 11 * ファイル名: ($prefix)_($uid).[(jpe?g)|(gif)|(png)] 11 * ファイル名: ($prefix)_($uid).($ext) 12 * 13 * @param array $upfile 14 * @param string $uid 15 * @param string $prefix 16 * @param string $ext 17 * @return mixed 12 18 */ 13 19 function t_file_save2tmp($upfile, $uid, $prefix='', $ext='') 14 20 { 21 // 拡張子を取得 15 22 if (!$ext) { 16 $ext = substr($upfile['name'], strrpos($upfile['name'], '.') + 1); 23 $path_parts = pathinfo($upfile['name']); 24 $ext = $path_parts['extension']; 25 $ext = strtolower($ext); 17 26 } 18 27 … … 20 29 $tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/'; 21 30 31 // ファイルパスを決定 22 32 $filename = sprintf('%s_%s.%s', $prefix, $uid, $ext); 23 33 $filepath = $tmp_dir_path . $filename; 24 34 25 35 if (!file_exists($upfile['tmp_name'])) { 26 error_log("file not exists");27 36 return false; 28 37 } 29 38 39 // var/tmp/ディレクトリにファイルを移動する 30 40 move_uploaded_file($upfile['tmp_name'], $filepath); 31 41 chmod($filepath, 0644); 32 42 if (!is_file($filepath)) { 33 error_log("is not file");34 43 return false; 35 44 } … … 38 47 } 39 48 40 49 /** 50 * 一時ファイル情報をDBに保存する 51 * 52 * @param string $prefix 53 * @param string $tmpfile 54 * @param string $type 55 * @return mixed 56 */ 41 57 function file_insert_c_file4tmp($prefix, $tmpfile, $type) 42 58 { 43 error_log("file_insert_c_file4tmp");44 59 if (!$tmpfile || preg_match('/[^\.\w]/', $tmpfile)) return false; 45 60 … … 47 62 $ext = $path_parts['extension']; 48 63 $ext = strtolower($ext); 49 // ホワイトリストから拡張子をチェック50 /*51 $allowed_ext = array('jpg', 'jpeg', 'gif', 'png');52 if (!in_array($ext, $allowed_ext)) {53 return false;54 }55 */56 64 57 65 $filename = sprintf('%s_%s.%s', $prefix, time(), $ext); … … 60 68 $filepath = $tmp_dir_path . basename($tmpfile); 61 69 62 error_log("filepath ". $filepath);63 error_log("filename ". $filename);64 65 if (db_file_insert_c_file_pre($filename, $filepath, $type)) {66 return $filename;67 }68 return false;69 }70 function db_file_insert_c_file_pre($filename, $filepath, $type)71 {72 error_log("db_file_insert_c_file_pre ".$filepath." / ".$filename);73 70 if (!is_readable($filepath)) { 74 error_log("can't read");75 71 return false; 76 72 } 77 73 78 74 $fp = fopen($filepath, 'rb'); 79 $file _Data = fread($fp, filesize($filepath));75 $fileData = fread($fp, filesize($filepath)); 80 76 fclose($fp); 81 77 82 return db_file_insert_c_file($filename, $file_Data, $type); 78 if (db_file_insert_c_file($filename, $fileData, $type)) { 79 return $filename; 80 } 81 82 return false; 83 83 } 84 84 85 function db_file_insert_c_file($filename, $bin, $type = '')86 {87 error_log("db_file_insert_c_file");88 $db =& db_get_instance();89 90 $data = array(91 'filename' => $filename,92 'bin' => $bin,93 'type' => $type,94 'r_datetime' => db_now(),95 );96 error_log("OK2");97 return $db->insert('c_file', $data, 'c_file_id');98 }99 /**100 * ファイル名からファイル実体を取得101 */102 function db_file_c_file4filename($filename)103 {104 $sql = 'SELECT * FROM c_file WHERE filename = ?';105 $params = array($filename);106 return db_get_row($sql, $params);107 }108 109 110 85 ?>
Note: See TracChangeset
for help on using the changeset viewer.