本文整理汇总了PHP中Attachment::doesExist方法的典型用法代码示例。如果您正苦于以下问题:PHP Attachment::doesExist方法的具体用法?PHP Attachment::doesExist怎么用?PHP Attachment::doesExist使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Attachment
的用法示例。
在下文中一共展示了Attachment::doesExist方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: api_addAttachment
function api_addAttachment($blogid, $parent, $file)
{
$pool = DBModel::getInstance();
$attachment = array();
$attachment['parent'] = $parent ? $parent : 0;
$attachment['label'] = Path::getBaseName($file['name']);
$label = Utils_Unicode::lessenAsEncoding($attachment['label'], 64);
$attachment['size'] = $file['size'];
$extension = Path::getExtension($attachment['label']);
switch (strtolower($extension)) {
case '.exe':
case '.php':
case '.sh':
case '.com':
case '.bat':
$extension = '.xxx';
break;
}
/* Create directory for owner */
$path = __TEXTCUBE_ATTACH_DIR__ . "/{$blogid}";
if (!is_dir($path)) {
mkdir($path);
if (!is_dir($path)) {
return false;
}
@chmod($path, 0777);
}
$pool->reset('Attachments');
$pool->setQualifier('blogid', 'eq', $blogid);
$pool->setQualifier('parent', 'eq', $parent);
$pool->setQualifier('label', 'eq', $label, true);
$oldFile = $pool->getCell('name');
if ($oldFile !== null) {
$attachment['name'] = $oldFile;
} else {
$attachment['name'] = rand(1000000000, 9999999999) . $extension;
while (Attachment::doesExist($attachment['name'])) {
$attachment['name'] = rand(1000000000, 9999999999) . $extension;
}
}
$attachment['path'] = "{$path}/{$attachment['name']}";
deleteAttachment($blogid, -1, $attachment['name']);
if ($file['content']) {
$f = fopen($attachment['path'], "w");
if (!$f) {
return false;
}
$attachment['size'] = fwrite($f, $file['content']);
fclose($f);
$file['tmp_name'] = $attachment['path'];
}
if ($imageAttributes = @getimagesize($file['tmp_name'])) {
$attachment['mime'] = $imageAttributes['mime'];
$attachment['width'] = $imageAttributes[0];
$attachment['height'] = $imageAttributes[1];
} else {
$attachment['mime'] = Utils_Misc::getMIMEType($extension);
$attachment['width'] = 0;
$attachment['height'] = 0;
}
$attachment['mime'] = Utils_Unicode::lessenAsEncoding($attachment['mime'], 32);
@chmod($attachment['path'], 0666);
$pool->reset('Attachments');
$pool->setAttribute('blogid', $blogid);
$pool->setAttribute('parent', $attachment['parent']);
$pool->setAttribute('name', $attachment['name'], true);
$pool->setAttribute('label', $label, true);
$pool->setAttribute('mime', $attachment['mime'], true);
$pool->setAttribute('size', $attachment['size'], true);
$pool->setAttribute('width', $attachment['width']);
$pool->setAttribute('height', $attachment['height']);
$pool->setAttribute('attached', Timestamp::getUNIXtime());
$pool->setAttribute('downloads', 0);
$pool->setAttribute('enclosure', 0);
$result = $pool->insert();
if (!$result) {
@unlink($attachment['path']);
return false;
}
return $attachment;
}
示例2: _generateName
function _generateName()
{
$blogid = getBlogId();
if (isset($this->name)) {
if (!Validator::filename($this->name)) {
return $this->_error('name');
}
switch (Path::getExtension($this->name)) {
case '.php':
case '.exe':
case '.com':
case '.sh':
case '.bat':
$ext = '.xxx';
$this->name = rand(1000000000, 9999999999.0) . $ext;
break;
default:
$ext = Path::getExtension2($this->name);
break;
}
} else {
$ext = '';
}
$this->confirmFolder();
while (Attachment::doesExist($this->name)) {
$this->name = rand(1000000000, 9999999999.0) . $ext;
}
return true;
}
示例3: importer
//.........这里部分代码省略.........
$page->visibility = $node['visibility'][0]['.value'];
if (isset($node['starred'][0]['.value'])) {
$page->starred = $node['starred'][0]['.value'];
} else {
$page->starred = 0;
}
$page->title = $node['title'][0]['.value'];
$page->content = $node['content'][0]['.value'];
$page->contentformatter = isset($node['content']['.attributes']['formatter']) ? $node['content']['.attributes']['formatter'] : getDefaultFormatter();
$page->contenteditor = isset($node['content']['.attributes']['editor']) ? $node['content']['.attributes']['editor'] : getDefaultEditor();
$page->published = $node['published'][0]['.value'];
$page->created = @$node['created'][0]['.value'];
$page->modified = @$node['modified'][0]['.value'];
if (floatval(Setting::getServiceSettingGlobal('newlineStyle')) >= 1.1 && floatval(@$node['.attributes']['format']) < 1.1) {
$page->content = nl2brWithHTML($page->content);
}
if (!$page->add()) {
user_error(__LINE__ . $page->error);
}
if (isset($node['attachment'])) {
for ($i = 0; $i < count($node['attachment']); $i++) {
$attachment = new Attachment();
$attachment->parent = $page->id;
$cursor =& $node['attachment'][$i];
$attachment->name = $cursor['name'][0]['.value'];
$attachment->label = $cursor['label'][0]['.value'];
$attachment->mime = @$cursor['.attributes']['mime'];
$attachment->size = $cursor['.attributes']['size'];
$attachment->width = $cursor['.attributes']['width'];
$attachment->height = $cursor['.attributes']['height'];
$attachment->enclosure = @$cursor['enclosure'][0]['.value'];
$attachment->attached = $cursor['attached'][0]['.value'];
$attachment->downloads = @$cursor['downloads'][0]['.value'];
if (Attachment::doesExist($attachment->name)) {
if (!$attachment->add()) {
user_error(__LINE__ . $attachment->error);
}
$page2 = new Page();
if ($page2->open($page->id, 'id, content')) {
$page2->content = str_replace($cursor['name'][0]['.value'], $attachment->name, $page2->content);
$page2->update();
$page2->close();
}
unset($page2);
} else {
if (!$attachment->add()) {
user_error(__LINE__ . $attachment->error);
}
}
if (!empty($cursor['content'][0]['.stream'])) {
Utils_Base64Stream::decode($cursor['content'][0]['.stream'], Path::combine(ROOT, 'attach', $blogid, $attachment->name));
Attachment::adjustPermission(Path::combine(ROOT, 'attach', $blogid, $attachment->name));
fclose($cursor['content'][0]['.stream']);
unset($cursor['content'][0]['.stream']);
}
}
}
return true;
case '/blog/notice':
setProgress($item++ / $items * 100, _t('공지를 복원하고 있습니다.'));
$notice = new Notice();
$notice->id = $node['id'][0]['.value'];
$notice->slogan = @$node['.attributes']['slogan'];
$notice->visibility = $node['visibility'][0]['.value'];
if (isset($node['starred'][0]['.value'])) {
$notice->starred = $node['starred'][0]['.value'];
示例4: api_addAttachment
function api_addAttachment($blogid, $parent, $file)
{
global $database;
$attachment = array();
$attachment['parent'] = $parent ? $parent : 0;
$attachment['label'] = Path::getBaseName($file['name']);
$label = POD::escapeString(UTF8::lessenAsEncoding($attachment['label'], 64));
$attachment['size'] = $file['size'];
$extension = Path::getExtension($attachment['label']);
switch (strtolower($extension)) {
case '.exe':
case '.php':
case '.sh':
case '.com':
case '.bat':
$extension = '.xxx';
break;
}
/* Create directory for owner */
$path = ROOT . "/attach/{$blogid}";
if (!is_dir($path)) {
mkdir($path);
if (!is_dir($path)) {
return false;
}
@chmod($path, 0777);
}
$oldFile = POD::queryCell("SELECT name FROM {$database['prefix']}Attachments WHERE blogid={$blogid} AND parent={$parent} AND label = '{$label}'");
if ($oldFile !== null) {
$attachment['name'] = $oldFile;
} else {
$attachment['name'] = rand(1000000000, 9999999999) . $extension;
while (Attachment::doesExist($attachment['name'])) {
$attachment['name'] = rand(1000000000, 9999999999) . $extension;
}
}
$attachment['path'] = "{$path}/{$attachment['name']}";
deleteAttachment($blogid, -1, $attachment['name']);
if ($file['content']) {
$f = fopen($attachment['path'], "w");
if (!$f) {
return false;
}
$attachment['size'] = fwrite($f, $file['content']);
fclose($f);
$file['tmp_name'] = $attachment['path'];
}
if ($imageAttributes = @getimagesize($file['tmp_name'])) {
$attachment['mime'] = $imageAttributes['mime'];
$attachment['width'] = $imageAttributes[0];
$attachment['height'] = $imageAttributes[1];
} else {
$attachment['mime'] = Misc::getMIMEType($extension);
$attachment['width'] = 0;
$attachment['height'] = 0;
}
$attachment['mime'] = UTF8::lessenAsEncoding($attachment['mime'], 32);
@chmod($attachment['path'], 0666);
$result = POD::query("insert into {$database['prefix']}Attachments values ({$blogid}, {$attachment['parent']}, '{$attachment['name']}', '{$label}', '{$attachment['mime']}', {$attachment['size']}, {$attachment['width']}, {$attachment['height']}, UNIX_TIMESTAMP(), 0,0)");
if (!$result) {
@unlink($attachment['path']);
return false;
}
return $attachment;
}