本文整理匯總了PHP中IPSText::getFileExtension方法的典型用法代碼示例。如果您正苦於以下問題:PHP IPSText::getFileExtension方法的具體用法?PHP IPSText::getFileExtension怎麽用?PHP IPSText::getFileExtension使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類IPSText
的用法示例。
在下文中一共展示了IPSText::getFileExtension方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: buildSizedPhotos
/**
* Takes a photo and builds it nicely.
* @param string $fileLocation
* @param int $memberId
* @param bool $skipDir Don't add profile directory
*/
public function buildSizedPhotos($fileLocation, $memberId, $skipDir = false)
{
$memberData = IPSMember::load($memberId);
$t_height = $this->settings['member_photo_crop'] ? $this->settings['member_photo_crop'] : 100;
$t_width = $this->settings['member_photo_crop'] ? $this->settings['member_photo_crop'] : 100;
$p_max = $memberData['photoMaxKb'];
$p_width = $memberData['photoMaxWidth'];
$p_height = $memberData['photoMaxHeight'];
$ext = IPSText::getFileExtension($fileLocation);
$needResize = false;
if (!$memberId) {
return array('status' => 'cannot_find_member');
}
if (IN_ACP) {
$memberData['photoMaxKb'] = $this->memberData['photoMaxKb'];
$memberData['photoMaxWidth'] = $this->memberData['photoMaxWidth'];
$memberData['photoMaxHeight'] = $this->memberData['photoMaxHeight'];
}
/* Fix up upload directory */
$paths = $this->_getProfileUploadPaths($skipDir);
$storagePath = $this->_getProfileUploadPaths();
$upload_path = $paths['path'];
$upload_dir = $paths['dir'];
/* Does image even exist? If not, just return (can't rebuild a file that doesn't exist). */
if (!file_exists($upload_path . '/' . $fileLocation)) {
return array('final_location' => '', 'final_width' => 0, 'final_height' => 0, 't_final_location' => '', 't_file_name' => '', 't_final_width' => 0, 't_final_height' => 0, 'status' => 'missing_image');
}
/* Get kernel library */
require_once IPS_KERNEL_PATH . 'classImage.php';
/*noLibHook*/
/* Fetch image dims */
$imageDimensions = @getimagesize($upload_path . '/' . $fileLocation);
/* Do we need to resize? */
if ($imageDimensions[0] > $t_width or $imageDimensions[1] > $t_height) {
$needResize = true;
} else {
if ($ext == 'gif' && !$this->settings['member_photo_gif_animate']) {
/* Resize even if smaller to prevent animation */
$needResize = true;
}
}
/* Overide if we have a GIF and want to keep it animating */
if ($ext == 'gif' && $this->settings['member_photo_gif_animate']) {
$needResize = false;
}
/** SQUARE THUMBS **/
if ($needResize) {
$image = ips_kernel_image::bootstrap('gd');
$image->init(array('image_path' => $upload_path, 'image_file' => $fileLocation));
/* If we're uploading a GIF then resize to stop animations */
if ($ext == 'gif' && !$this->settings['member_photo_gif_animate']) {
$image->force_resize = true;
}
$return = $image->croppedResize($t_width, $t_height);
$image->writeImage($storagePath['path'] . '/' . 'photo-thumb-' . $memberId . '.' . $ext);
$t_im['img_width'] = $return['newWidth'];
$t_im['img_height'] = $return['newHeight'];
$t_im['img_location'] = count($return) ? $storagePath['dir'] . 'photo-thumb-' . $memberId . '.' . $ext : $upload_dir . $fileLocation;
} else {
$_data = IPSLib::scaleImage(array('max_height' => $t_height, 'max_width' => $t_width, 'cur_width' => $imageDimensions[0], 'cur_height' => $imageDimensions[1]));
$t_im['img_width'] = $_data['img_width'];
$t_im['img_height'] = $_data['img_height'];
$t_im['img_location'] = $upload_dir . $fileLocation;
}
/** MAIN PHOTO **/
if ($imageDimensions[0] > $p_width or $imageDimensions[1] > $p_height) {
$image = ips_kernel_image::bootstrap('gd');
$image->init(array('image_path' => $upload_path, 'image_file' => $fileLocation));
$return = $image->resizeImage($p_width, $p_height);
$image->writeImage($storagePath['path'] . '/' . 'photo-' . $memberId . '.' . $ext);
$t_real_name = $return['thumb_location'] ? $return['thumb_location'] : $fileLocation;
$im['img_width'] = $return['newWidth'] ? $return['newWidth'] : $image->cur_dimensions['width'];
$im['img_height'] = $return['newHeight'] ? $return['newHeight'] : $image->cur_dimensions['height'];
$return['final_location'] = $storagePath['dir'] . $fileLocation;
} else {
$im['img_width'] = $imageDimensions[0];
$im['img_height'] = $imageDimensions[1];
$return['final_location'] = $upload_dir . $fileLocation;
}
/* Main photo */
// If we don't rebuild, the image is in the original location - which may not be in the /profile folder */
//$return['final_location'] = $storagePath['dir'] . $fileLocation;
$return['final_width'] = $im['img_width'];
$return['final_height'] = $im['img_height'];
/* Thumb */
/* If we don't need to resize, it's same as the main image (which may get moved during IT'S resize) */
$return['t_final_location'] = $needResize ? $t_im['img_location'] : $return['final_location'];
$return['t_file_name'] = $t_im['img_location'];
$return['t_final_width'] = $t_im['img_width'];
$return['t_final_height'] = $t_im['img_height'];
$return['status'] = 'ok';
return $return;
}
示例2: _getFileExtension
/**
* Returns the file extension of the current filename
*
* @param string Filename
* @return @e string
*/
public function _getFileExtension($file)
{
if (class_exists('IPSText')) {
return IPSText::getFileExtension($file);
}
return strtolower(str_replace(".", "", substr($file, strrpos($file, '.'))));
}
示例3: convert_ccs_articles
private function convert_ccs_articles()
{
$main = array('select' => '*', 'from' => 'posts', 'where' => 'post_type = \'post\'');
$loop = $this->lib->load('ccs_articles', $main);
$fields = array();
$this->DB->build(array('select' => '*', 'from' => 'ccs_database_fields', 'where' => 'field_database_id = 1'));
$this->DB->execute();
while ($row = $this->DB->fetch()) {
$fields[$row['field_key']] = $row['field_id'];
}
while ($row = ipsRegistry::DB('hb')->fetch($this->lib->queryRes)) {
$categories = $this->_fetchArticleCategories();
$save = array('member_id' => $row['post_author'], 'record_saved' => strtotime($row['post_date']), 'record_updated' => strtotime($row['post_modified']), 'category_id' => array_key_exists($row['ID'], $categories) ? $categories[$row['ID']] : 1, 'record_locked' => $row['comment_status'] == 'open' ? 0 : 1, 'record_approved' => $row['post_status'] != 'publish' ? 0 : 1);
if ($fields['article_title']) {
$save['field_' . $fields['article_title']] = $row['post_title'];
}
if ($fields['article_body']) {
IPSText::getTextClass('bbcode')->parse_bbcode = 0;
IPSText::getTextClass('bbcode')->parse_html = 1;
IPSText::getTextClass('bbcode')->parse_emoticons = 1;
IPSText::getTextClass('bbcode')->parse_nl2br = 0;
IPSText::getTextClass('bbcode')->parsing_section = 'global';
$save['field_' . $fields['article_body']] = IPSText::getTextClass('bbcode')->preDisplayParse($this->fixPostData($row['post_content']));
}
if ($fields['article_date']) {
$save['field_' . $fields['article_date']] = strtotime($row['post_date']);
}
if ($fields['article_homepage']) {
$save['field_' . $fields['article_homepage']] = ',1,';
}
if ($fields['article_comments']) {
$save['field_' . $fields['article_comments']] = 1;
}
if ($fields['article_expiry']) {
$save['field_' . $fields['article_expiry']] = '';
}
if ($fields['article_cutoff']) {
$save['field_' . $fields['article_cutoff']] = '';
}
if ($fields['article_image']) {
$save['field_' . $fields['article_image']] = '';
// Let's try and automatically determine the upload path.
$uploadPath = ipsRegistry::DB('hb')->buildAndFetch(array('select' => 'option_value', 'from' => 'options', 'where' => "option_name = 'upload_path'"));
if ($uploadPath['option_value']) {
// Does this post have an image? Cue insanity.
$meta1 = ipsRegistry::DB('hb')->buildAndFetch(array('select' => 'meta_value', 'from' => 'postmeta', 'where' => "post_id = {$row['ID']} AND meta_key = '_thumbnail_id'"));
if ($meta1['meta_value']) {
$image = ipsRegistry::DB('hb')->buildAndFetch(array('select' => 'meta_value', 'from' => 'postmeta', 'where' => "meta_key = '_wp_attachment_metadata' AND post_id = {$meta1['meta_value']}"));
if ($image['meta_value']) {
$metaValue = unserialize($image['meta_value']);
if ($metaValue['file']) {
$newFileName = md5(uniqid(microtime(), true));
$ext = IPSText::getFileExtension($metaValue['file']);
if (@copy($uploadPath['option_value'] . '/' . $metaValue['file'], $this->settings['upload_dir'] . '/' . $newFileName . '.' . $ext)) {
$save['field_' . $fields['article_image']] = $newFileName . '.' . $ext;
}
}
}
}
}
}
$this->lib->convertArticle($row['ID'], $save);
}
$this->lib->next();
}
示例4: rebuildAttachdata
/**
* Rebuild Attachment Data
*
* @return @e void
*/
public function rebuildAttachdata()
{
//-----------------------------------------
// Set up
//-----------------------------------------
$done = 0;
$start = intval($this->request['st']) >= 0 ? intval($this->request['st']) : 0;
$end = intval($this->request['pergo']) ? intval($this->request['pergo']) : 100;
$dis = $end + $start;
$output = array();
//-----------------------------------------
// Got any more?
//-----------------------------------------
$tmp = $this->DB->buildAndFetch(array('select' => 'attach_id', 'from' => 'attachments', 'limit' => array($dis, 1)));
$max = intval($tmp['attach_id']);
//-----------------------------------------
// Avoid limit...
//-----------------------------------------
$this->DB->build(array('select' => '*', 'from' => 'attachments', 'order' => 'attach_id ASC', 'limit' => array($start, $end)));
$outer = $this->DB->execute();
//-----------------------------------------
// Process...
//-----------------------------------------
while ($r = $this->DB->fetch($outer)) {
//-----------------------------------------
// Get ext
//-----------------------------------------
$update = array();
$update['attach_ext'] = IPSText::getFileExtension($r['attach_file']);
if ($r['attach_location']) {
if (is_file($this->settings['upload_dir'] . '/' . $r['attach_location'])) {
$update['attach_filesize'] = @filesize($this->settings['upload_dir'] . '/' . $r['attach_location']);
if ($r['attach_is_image']) {
$dims = @getimagesize($this->settings['upload_dir'] . '/' . $r['attach_location']);
if ($dims[0] and $dims[1]) {
$update['attach_img_width'] = $dims[0];
$update['attach_img_height'] = $dims[1];
}
}
}
}
if (count($update)) {
$this->DB->update('attachments', $update, 'attach_id=' . $r['attach_id']);
}
$done++;
}
//-----------------------------------------
// Finish - or more?...
//-----------------------------------------
if (!$done and !$max) {
//-----------------------------------------
// Done..
//-----------------------------------------
$text = $this->lang->words['re_rebuildcomp'] . '<br />' . implode("<br />", $output);
$url = "{$this->settings['base_url']}{$this->form_code}";
} else {
//-----------------------------------------
// More..
//-----------------------------------------
$thisgoeshere = sprintf($this->lang->words['re_thisgoeshere'], $dis);
$text = $thisgoeshere . '<br />' . implode("<br />", $output);
$url = "{$this->settings['base_url']}{$this->form_code}&do={$this->request['do']}&pergo={$this->request['pergo']}&st={$dis}";
}
//-----------------------------------------
// Bye....
//-----------------------------------------
$this->_specialRedirect($url, $text);
}
示例5: extractImageData
/**
* Checks to see if an uploaded image truly is an image
*
* @param string Image path
* @return @e mixed
*/
public function extractImageData($imagePath)
{
$fileExt = IPSText::getFileExtension($imagePath);
$img_attributes = @getimagesize($imagePath);
if (!is_array($img_attributes) or !count($img_attributes)) {
return false;
} else {
if (!$img_attributes[2]) {
return false;
} else {
if ($img_attributes[2] == 1 and ($fileExt == 'jpg' or $fileExt == 'jpeg')) {
return false;
}
}
}
$return = array('width' => $img_attributes[0], 'height' => $img_attributes[1], 'fileType' => '');
switch ($img_attributes[2]) {
case 1:
$return['fileType'] = 'gif';
break;
case 2:
$return['fileType'] = 'jpg';
break;
case 3:
$return['fileType'] = 'png';
break;
}
return $return;
}