本文整理汇总了PHP中AttachmentFile::save方法的典型用法代码示例。如果您正苦于以下问题:PHP AttachmentFile::save方法的具体用法?PHP AttachmentFile::save怎么用?PHP AttachmentFile::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AttachmentFile
的用法示例。
在下文中一共展示了AttachmentFile::save方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: next
/**
* Processes the next item on the work queue. Emits a JSON messages to
* indicate current progress.
*
* Returns:
* TRUE/NULL if the migration was successful
*/
function next()
{
# Fetch next item -- use the last item so the array indices don't
# need to be recalculated for every shift() operation.
$info = array_pop($this->queue);
# Attach file to the ticket
if (!($info['data'] = @file_get_contents($info['path']))) {
# Continue with next file
return $this->error(sprintf('%s: Cannot read file contents', $info['path']));
}
# Get the mime/type of each file
# XXX: Use finfo_buffer for PHP 5.3+
$info['type'] = mime_content_type($info['path']);
if (!($fileId = AttachmentFile::save($info))) {
return $this->error(sprintf('%s: Unable to migrate attachment', $info['path']));
}
# Update the ATTACHMENT_TABLE record to set file_id
db_query('update ' . TICKET_ATTACHMENT_TABLE . ' set file_id=' . db_input($fileId) . ' where attach_id=' . db_input($info['attachId']));
# Remove disk image of the file. If this fails, the migration for
# this file would not be retried, because the file_id in the
# TICKET_ATTACHMENT_TABLE has a nonzero value now
if (!@unlink($info['path'])) {
$this->error(sprintf('%s: Unable to remove file from disk', $info['path']));
}
# TODO: Log an internal note to the ticket?
return true;
}
示例2: catch
$attachment->licenseID = $_POST['licenseID'];
try {
$attachment->save();
echo $attachment->primaryKey;
} catch (Exception $e) {
echo $e->getMessage();
}
break;
//adding the attachment file to the db - saves the URL to it only
//adding the attachment file to the db - saves the URL to it only
case 'addAttachmentFile':
$attachmentFile = new AttachmentFile();
$attachmentFile->attachmentID = $_GET['attachmentID'];
$attachmentFile->attachmentURL = $_GET['attachmentURL'];
try {
$attachmentFile->save();
echo $attachmentFile->primaryKey;
} catch (Exception $e) {
echo $e->getMessage();
}
break;
case 'deleteAttachment':
$attachment = new Attachment(new NamedArguments(array('primaryKey' => $_GET['attachmentID'])));
//first delete attachments
foreach ($attachment->getAttachmentFiles() as $attachmentFile) {
$attachmentFile->delete();
}
try {
$attachment->delete();
echo "Attachment successfully deleted";
} catch (Exception $e) {
示例3: next
/**
* Processes the next item on the work queue. Emits a JSON messages to
* indicate current progress.
*
* Returns:
* TRUE/NULL if the migration was successful
*/
function next()
{
# Fetch next item -- use the last item so the array indices don't
# need to be recalculated for every shift() operation.
$info = array_pop($this->queue);
# Attach file to the ticket
if (!($info['data'] = @file_get_contents($info['path']))) {
# Continue with next file
return $this->skip($info['attachId'], sprintf('%s: Cannot read file contents', $info['path']));
}
# Get the mime/type of each file
# XXX: Use finfo_buffer for PHP 5.3+
if (function_exists('mime_content_type')) {
//XXX: function depreciated in newer versions of PHP!!!!!
$info['type'] = mime_content_type($info['path']);
} elseif (function_exists('finfo_file')) {
// PHP 5.3.0+
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$info['type'] = finfo_file($finfo, $info['path']);
}
# TODO: Add extension-based mime-type lookup
if (!($fileId = AttachmentFile::save($info))) {
return $this->skip($info['attachId'], sprintf('%s: Unable to migrate attachment', $info['path']));
}
# Update the ATTACHMENT_TABLE record to set file_id
db_query('update ' . TICKET_ATTACHMENT_TABLE . ' set file_id=' . db_input($fileId) . ' where attach_id=' . db_input($info['attachId']));
# Remove disk image of the file. If this fails, the migration for
# this file would not be retried, because the file_id in the
# TICKET_ATTACHMENT_TABLE has a nonzero value now
if (!@unlink($info['path'])) {
//XXX: what should we do on failure?
$this->error(sprintf('%s: Unable to remove file from disk', $info['path']));
}
# TODO: Log an internal note to the ticket?
return true;
}
示例4: uploadAttachment
/**
* Called from API and email routines and such to handle attachments
* sent other than via web upload
*/
function uploadAttachment(&$file)
{
if (!$this->isValidFileType($file['name'], $file['type'])) {
throw new FileUploadError(__('File type is not allowed'));
}
if (is_callable($file['data'])) {
$file['data'] = $file['data']();
}
if (!isset($file['size'])) {
// bootstrap.php include a compat version of mb_strlen
if (extension_loaded('mbstring')) {
$file['size'] = mb_strlen($file['data'], '8bit');
} else {
$file['size'] = strlen($file['data']);
}
}
$config = $this->getConfiguration();
if ($file['size'] > $config['size']) {
throw new FileUploadError(__('File size is too large'));
}
if (!($id = AttachmentFile::save($file))) {
throw new FileUploadError(__('Unable to save file'));
}
return $id;
}
示例5: upload
function upload($file, $ft = 'T', $deduplicate = true)
{
if (!$file['name'] || $file['error'] || !is_uploaded_file($file['tmp_name'])) {
return false;
}
list($key, $sig) = self::_getKeyAndHash($file['tmp_name'], true);
$info = array('type' => $file['type'], 'filetype' => $ft, 'size' => $file['size'], 'name' => $file['name'], 'key' => $key, 'signature' => $sig, 'tmp_name' => $file['tmp_name']);
return AttachmentFile::save($info, $ft, $deduplicate);
}
示例6: save
function save($info, $inline = true)
{
if (!($fileId = AttachmentFile::save($info))) {
return false;
}
$sql = 'INSERT INTO ' . ATTACHMENT_TABLE . ' SET `type`=' . db_input($this->getType()) . ',object_id=' . db_input($this->getId()) . ',file_id=' . db_input($fileId) . ',inline=' . db_input($inline ? 1 : 0);
if (!db_query($sql) || !db_affected_rows()) {
return false;
}
return $fileId;
}
示例7: saveAttachment
function saveAttachment($file, $refid, $type)
{
if (!$refid || !$type || !($fileId = is_numeric($file) ? $file : AttachmentFile::save($file))) {
return 0;
}
$sql = 'INSERT INTO ' . TICKET_ATTACHMENT_TABLE . ' SET created=NOW() ' . ' ,ticket_id=' . db_input($this->getId()) . ' ,file_id=' . db_input($fileId) . ' ,ref_id=' . db_input($refid) . ' ,ref_type=' . db_input($type);
return db_query($sql) && ($id = db_insert_id()) ? $id : 0;
}
示例8: upload
function upload($file, $ft = 'T')
{
if (!$file['name'] || $file['error'] || !is_uploaded_file($file['tmp_name'])) {
return false;
}
$info = array('type' => $file['type'], 'filetype' => $ft, 'size' => $file['size'], 'name' => $file['name'], 'hash' => MD5(MD5_FILE($file['tmp_name']) . time()), 'data' => file_get_contents($file['tmp_name']));
return AttachmentFile::save($info);
}
示例9: saveAttachment
function saveAttachment(&$file)
{
if (is_numeric($file)) {
$fileId = $file;
} elseif (is_array($file) && isset($file['id'])) {
$fileId = $file['id'];
} elseif (!($fileId = AttachmentFile::save($file))) {
return 0;
}
$inline = is_array($file) && @$file['inline'];
// TODO: Add a unique index to TICKET_ATTACHMENT_TABLE (file_id,
// ref_id), and remove this block
if ($id = db_result(db_query('SELECT attach_id FROM ' . TICKET_ATTACHMENT_TABLE . ' WHERE file_id=' . db_input($fileId) . ' AND ref_id=' . db_input($this->getId())))) {
return $id;
}
$sql = 'INSERT IGNORE INTO ' . TICKET_ATTACHMENT_TABLE . ' SET created=NOW() ' . ' ,file_id=' . db_input($fileId) . ' ,ticket_id=' . db_input($this->getTicketId()) . ' ,inline=' . db_input($inline ? 1 : 0) . ' ,ref_id=' . db_input($this->getId());
return db_query($sql) && ($id = db_insert_id()) ? $id : 0;
}
示例10: save
function save($file, $inline = true)
{
if (is_numeric($file)) {
$fileId = $file;
} elseif (is_array($file) && isset($file['id'])) {
$fileId = $file['id'];
} elseif (!($fileId = AttachmentFile::save($file))) {
return false;
}
$sql = 'INSERT INTO ' . ATTACHMENT_TABLE . ' SET `type`=' . db_input($this->getType()) . ',object_id=' . db_input($this->getId()) . ',file_id=' . db_input($fileId) . ',inline=' . db_input($inline ? 1 : 0);
if (!db_query($sql) || !db_affected_rows()) {
return false;
}
return $fileId;
}