本文整理汇总了PHP中files::getCleanContentType方法的典型用法代码示例。如果您正苦于以下问题:PHP files::getCleanContentType方法的具体用法?PHP files::getCleanContentType怎么用?PHP files::getCleanContentType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类files
的用法示例。
在下文中一共展示了files::getCleanContentType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: event_ExecuteEditor
function event_ExecuteEditor(&$data)
{
global $lang, $manager;
if (isset($manager->types[$data['type']]['content']['files']) && ($data['sheet'] == 'attachments' || $data['sheet'] == 'files')) {
if (isset($_REQUEST['json']) && $_REQUEST['json'] == 'list') {
$tpl = new Template($this->getTemplate('json.template'));
if ($data['sheet'] == 'files') {
$tpl->set("files", $this->_files_list($data['params']['id'], $data['params']['revision']));
} else {
$tpl->set("files", $this->_attachments_list($data['params']['id'], $data['params']['revision']));
}
echo $tpl->fetch();
exit;
}
if (isset($_REQUEST['json']) && $_REQUEST['json'] == 'delete') {
$res = sql::query("\r\n\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\t* \r\n\t\t\t\t\t\tFROM \r\n\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_files \r\n\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\tID='" . $data['params']['id'] . "' AND \r\n\t\t\t\t\t\t\trevision='" . $data['params']['revision'] . "' AND \r\n\t\t\t\t\t\t\tfilename='" . addslashes($_POST['delete']) . "'\r\n\t\t\t\t\t");
if ($row = sql::fetch_array($res)) {
$directory = _BASE_MEDIA_ . 'files/';
if (file_exists($directory . $row['filename'])) {
unlink($directory . $row['filename']);
}
$res = sql::query("\r\n\t\t\t\t\t\t\tDELETE FROM \r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_files \r\n\t\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\t\tID='" . $data['params']['id'] . "' AND \r\n\t\t\t\t\t\t\t\trevision='" . $data['params']['revision'] . "' AND \r\n\t\t\t\t\t\t\t\tfilename='" . addslashes($row['filename']) . "'\r\n\t\t\t\t\t\t");
}
// Mark this action as a modification
revisions::updateModificationDate($data['params']['id'], $data['params']['revision']);
exit;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_REQUEST['files']) && is_array($_REQUEST['files'])) {
// Update title and position
while (list($id, $file) = each($_REQUEST['files'])) {
$res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_files \r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\ttitle='" . addslashes($file['title']) . "',\r\n\t\t\t\t\t\t\t\t\tposition='" . addslashes($file['position']) . "'\r\n\t\t\t\t\t\t\t\tWHERE \r\n\t\t\t\t\t\t\t\t\tID='" . $data['params']['id'] . "' AND \r\n\t\t\t\t\t\t\t\t\trevision='" . $data['params']['revision'] . "' AND \r\n\t\t\t\t\t\t\t\t\tfilename='" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
}
// Mark this action as a modification
revisions::updateModificationDate($data['params']['id'], $data['params']['revision']);
}
if (isset($_FILES['Filedata'])) {
$flashUsed = preg_match('/Flash/i', $_SERVER['HTTP_USER_AGENT']);
if ($_FILES['Filedata']['error'] == UPLOAD_ERR_OK && is_uploaded_file($_FILES['Filedata']['tmp_name'])) {
$directory = _BASE_MEDIA_ . 'files/';
$original = $_FILES['Filedata']['name'];
$contenttype = files::getCleanContentType($_FILES['Filedata']['type'], $_FILES['Filedata']['name']);
$filename = files::getUniqueName($contenttype, $directory);
if (files::allowedContentType($contenttype)) {
// Insert into database...
@move_uploaded_file($_FILES['Filedata']['tmp_name'], $directory . $filename);
$attachment = $data['sheet'] == 'files' ? 0 : 1;
$res = sql::query("\r\n\t\t\t\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\t\t\t\t*\r\n\t\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_files \r\n\t\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t\tID = " . $data['params']['id'] . " AND\r\n\t\t\t\t\t\t\t\t\t\trevision = " . $data['params']['revision'] . " AND\r\n\t\t\t\t\t\t\t\t\t\tattachment = " . $attachment . "\r\n\t\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t\tposition DESC\r\n\t\t\t\t\t\t\t\t\tLIMIT 1\r\n\t\t\t\t\t\t\t\t");
if ($row = sql::fetch_array($res)) {
$position = $row['position'] + 1;
} else {
$position = 0;
}
$res = sql::query("\r\n\t\t\t\t\t\t\t\t\tINSERT INTO \r\n\t\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_files \r\n\t\t\t\t\t\t\t\t\tSET \r\n\t\t\t\t\t\t\t\t\t\tID='" . $data['params']['id'] . "', \r\n\t\t\t\t\t\t\t\t\t\trevision='" . $data['params']['revision'] . "', \r\n\t\t\t\t\t\t\t\t\t\tfilename='" . addslashes($filename) . "', \r\n\t\t\t\t\t\t\t\t\t\tname='" . addslashes($original) . "',\r\n\t\t\t\t\t\t\t\t\t\ttype='" . addslashes($contenttype) . "', \r\n\t\t\t\t\t\t\t\t\t\ttitle='" . addslashes($original) . "',\r\n\t\t\t\t\t\t\t\t\t\tsize='" . addslashes($_FILES['Filedata']['size']) . "',\r\n\t\t\t\t\t\t\t\t\t\tposition='" . $position . "',\r\n\t\t\t\t\t\t\t\t\t\tattachment='" . $attachment . "',\r\n\t\t\t\t\t\t\t\t\t\tmodified=NOW()\r\n\t\t\t\t\t\t\t\t");
// Mark this action as a modification
revisions::updateModificationDate($data['params']['id'], $data['params']['revision']);
if (!$flashUsed) {
header("Location: " . url::item($data['params']['id'], 'edit') . "/" . $data['sheet'] . "?revision=" . $data['params']['revision']);
} else {
// Workaround for a Flash bug on OS X.. We need to send back content... any content will do
echo " ";
flush();
}
} else {
if ($flashUsed) {
header("HTTP/1.1 415 Unsupported Media Type");
header("Status: 415 Unsupported Media Type");
} else {
header("Location: " . url::item($data['params']['id'], 'edit') . "/" . $data['sheet'] . "?revision=" . $data['params']['revision']);
}
}
exit;
} else {
switch ($_FILES['Filedata']['error']) {
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
if ($flashUsed) {
header("HTTP/1.1 413 Request Entity Too Large");
header("Status: 413 Request Entity Too Large");
} else {
header("Location: " . url::item($data['params']['id'], 'edit') . "/" . $data['sheet'] . "?revision=" . $data['params']['revision']);
}
break;
case UPLOAD_ERR_NO_FILE:
case UPLOAD_ERR_PARTIAL:
if ($flashUsed) {
header("HTTP/1.1 400 Bad Request");
header("Status: 400 Bad Request");
} else {
header("Location: " . url::item($data['params']['id'], 'edit') . "/" . $data['sheet'] . "?revision=" . $data['params']['revision']);
}
break;
case UPLOAD_ERR_NO_TMP_DIR:
case UPLOAD_ERR_CANT_WRITE:
case UPLOAD_ERR_EXTENSION:
default:
if ($flashUsed) {
header("HTTP/1.1 500 Internal Error");
header("Status: 500 Internal Error");
} else {
//.........这里部分代码省略.........
示例2: action_medialibrary
function action_medialibrary($args)
{
global $lang, $user;
$folder = isset($_REQUEST['folder']) ? $_REQUEST['folder'] : (isset($_SESSION['lastFolder']) ? $_SESSION['lastFolder'] : 1);
$_SESSION['lastFolder'] = $folder;
$res = sql::query("\r\n\t\t\t\tSELECT \r\n\t\t\t\t\t*\r\n\t\t\t\tFROM\r\n\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tID = '" . $folder . "'\r\n\t\t\t");
if (sql::num_rows($res) == 0) {
$res = sql::query("\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t*\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`order`\r\n\t\t\t\t\tLIMIT 1\r\n\t\t\t\t");
if ($row = sql::fetch_array($res)) {
$folder = $row['ID'];
}
}
$flash = false;
// Map Flash upload name to regular upload name
if (isset($_FILES['Filedata'])) {
$flash = true;
$_FILES['file'] =& $_FILES['Filedata'];
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
if ($_FILES['file']['error'] > UPLOAD_ERR_OK) {
error_log('Could not upload file because error ' . $_FILES['file']['error'] . ' occurred');
} else {
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
$directory = _BASE_MEDIA_ . 'images/';
$original = $_FILES['file']['name'];
$contenttype = files::getCleanContentType($_FILES['file']['type'], $_FILES['file']['name']);
$filename = files::getUniqueName($contenttype, $directory);
if (files::allowedContentType($contenttype, 'picture')) {
// Move file to the media directory
move_uploaded_file($_FILES['file']['tmp_name'], $directory . $filename);
// Get information from the file...
list($width, $height) = getimagesize($directory . $filename);
$size = round(filesize($directory . $filename) / 1024);
// Insert it into the database
$res = sql::query("\r\n\t\t\t\t\t\t\t\tINSERT INTO\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "',\r\n\t\t\t\t\t\t\t\t\tfilename = '" . addslashes($filename) . "',\r\n\t\t\t\t\t\t\t\t\toriginal = '" . addslashes(basename($original)) . "',\r\n\t\t\t\t\t\t\t\t\twidth = '" . $width . "',\r\n\t\t\t\t\t\t\t\t\theight = '" . $height . "',\r\n\t\t\t\t\t\t\t\t\tsize = '" . $size . "',\r\n\t\t\t\t\t\t\t\t\tmodified = NOW()\r\n\t\t\t\t\t\t\t");
if ($flash) {
// Workaround for a Flash bug on OS X.. We need to send back content... any content will do
echo " ";
flush();
}
} else {
error_log('Could not upload file because its mimetype was not recognized or rejected');
}
} else {
error_log('Could not upload file because it got lost on the server');
}
}
if ($flash == false) {
header('Location: ' . url::action('medialibrary') . '?folder=' . $folder);
}
exit;
} else {
if (isset($_REQUEST['json'])) {
if ($_REQUEST['json'] == 'editImage' && isset($_REQUEST['image'])) {
$id = intval($_REQUEST['image']);
$res = sql::query("\r\n\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\toriginal = '" . addslashes($_REQUEST['value']) . "'\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tfolder = '" . $folder . "' AND\r\n\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t");
echo $_REQUEST['value'];
exit;
}
if ($_REQUEST['json'] == 'moveImage' && isset($_REQUEST['image'])) {
$ids = explode(',', $_REQUEST['image']);
while (list(, $id) = each($ids)) {
$res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "'\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
}
exit;
}
if ($_REQUEST['json'] == 'deleteImage' && isset($_REQUEST['image'])) {
$ids = explode(',', $_REQUEST['image']);
while (list(, $id) = each($ids)) {
$res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tdeleted = 1\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "' AND\r\n\t\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
}
exit;
}
if ($_REQUEST['json'] == 'orderFolder' && isset($_REQUEST['folders'])) {
$order = 0;
while (list(, $id) = each($_REQUEST['folders'])) {
$res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\t`order` = " . $order . "\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tID = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
$order++;
}
exit;
}
if ($_REQUEST['json'] == 'editFolder' && isset($_REQUEST['value'])) {
$res = sql::query("\r\n\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\tname = '" . addslashes($_REQUEST['value']) . "'\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tID = '" . addslashes($folder) . "'\r\n\t\t\t\t\t\t");
echo $_REQUEST['value'];
exit;
}
if ($_REQUEST['json'] == 'deleteFolder') {
$res = sql::query("\r\n\t\t\t\t\t\t\tDELETE FROM\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tID = '" . addslashes($folder) . "'\r\n\t\t\t\t\t\t");
exit;
}
if ($_REQUEST['json'] == 'newFolder') {
$res = sql::query("\r\n\t\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\t\tMAX(`order`) AS max\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t");
if ($row = sql::fetch_array($res)) {
$order = $row['max'] + 1;
} else {
$order = 0;
}
$res = sql::query("\r\n\t\t\t\t\t\t\tINSERT INTO\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t`name` = '" . addslashes($user->lang->s('untitled')) . "',\r\n\t\t\t\t\t\t\t\t`order` = " . $order . "\r\n\t\t\t\t\t\t");
echo '[{id: "' . sql::insert_id() . '", name: "' . addslashes($user->lang->s('untitled')) . '"}]';
exit;
//.........这里部分代码省略.........