本文整理汇总了PHP中Media::getMediaDirectory方法的典型用法代码示例。如果您正苦于以下问题:PHP Media::getMediaDirectory方法的具体用法?PHP Media::getMediaDirectory怎么用?PHP Media::getMediaDirectory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Media
的用法示例。
在下文中一共展示了Media::getMediaDirectory方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateDescriptors
private function generateDescriptors($mediaId, $gameId)
{
//Get the filename for the media
if ($mediaId) {
$query = "SELECT file_path FROM media WHERE media_id = '{$mediaId}' LIMIT 1";
$result = Module::query($query);
$fileName = mysql_fetch_object($result)->file_path;
$gameMediaAndDescriptorsPath = Media::getMediaDirectory($gameId)->data;
$execCommand = '../../ImageMatcher/ImageMatcher generate ' . $gameMediaAndDescriptorsPath . $fileName;
$console = exec($execCommand);
}
}
示例2: die
<p>file: <input type="file" name="file" size="30"></p>
<p><input type="submit" value="Upload"></p>
<body></html>';
if (!$_FILES['file']) {
die($form);
}
$media = new Media();
//Check for Errors
if ($_FILES['file']['error']) {
die("file upload error");
}
if (isset($_POST['gameID'])) {
$_POST['path'] = $_POST['gameID'];
}
// for legacy use. - Phil 10/12/2012
$gameMediaDirectory = $media->getMediaDirectory($_POST['path'])->data;
$pathInfo = '';
if (@$_REQUEST['fileName']) {
$pathInfo = pathinfo($_REQUEST['fileName']);
} else {
$pathInfo = pathinfo($_FILES['file']['name']);
}
//We are coming from the form
$newMediaFileName = 'aris' . md5(date("YmdGisu") . substr((string) microtime(), 2, 6) . strtolower($_FILES['file']['name'])) . '.' . strtolower($pathInfo['extension']);
if ($pathInfo['extension'] == '') {
$newMediaFileName = $newMediaFileName . 'jpg';
}
// blobs from YOI map in jpg form aren't coming through with file a extension. This is a band-aid.
$newMediaFilePath = $gameMediaDirectory . "/" . $newMediaFileName;
if (!move_uploaded_file($_FILES['file']['tmp_name'], $newMediaFilePath)) {
die("error moving file");
示例3: getBestImageMatchNearbyObjectForPlayer
public function getBestImageMatchNearbyObjectForPlayer($gameId, $intPlayerId, $strFileName)
{
$gameMediaAndDescriptorsPath = Media::getMediaDirectory($gameId)->data;
$execCommand = '../../ImageMatcher/ImageMatcher match ' . $gameMediaAndDescriptorsPath . $strFileName . ' ' . $gameMediaAndDescriptorsPath;
$console = exec($execCommand);
//Run it
$consoleJSON = json_decode($console, true);
$fileName = $consoleJSON['filename'];
$pathParts = pathinfo($fileName);
$fileName = $pathParts['filename'];
// requires PHP 5.2.0
$similarity = $consoleJSON['similarity'];
if ($similarity > 0.2) {
return new returnData(0, NULL, "No match found. Best simularity was {$similarity}");
}
$query = "SELECT game_qrcodes.* \n FROM (SELECT * FROM qrcodes WHERE game_id = {$gameId}) AS game_qrcodes \n JOIN media \n ON (game_qrcodes.match_media_id = media.media_id)\n WHERE media.file_path = '{$fileName}.jpg'\n OR media.file_path = '{$fileName}.png'\n LIMIT 1";
$rsResult = Module::query($query);
if (mysql_error()) {
return new returnData(3, NULL, "SQL Error: " . mysql_error());
}
$qrcode = @mysql_fetch_object($rsResult);
//Check for a valid QR Code
if (!$qrcode) {
Module::appendLog($intPlayerId, $gameId, Module::kLOG_ENTER_QRCODE, $fileName, 'INVALID');
return new returnData(0, NULL, "invalid QRCode code");
}
//Check the requirements of the QR Code's link object
if (!$this->objectMeetsRequirements($gameId, $intPlayerId, $qrcode->link_type, $qrcode->link_id)) {
Module::appendLog($intPlayerId, $gameId, Module::kLOG_ENTER_QRCODE, $fileName, 'REQS_OR_QTY_NOT_MET');
return new returnData(0, NULL, "QRCode requirements not met");
}
Module::appendLog($intPlayerId, $gameId, Module::kLOG_ENTER_QRCODE, $fileName, 'SUCCESSFUL');
$returnResult = new returnData(0, $qrcode);
//Get the data
switch ($qrcode->link_type) {
case 'Location':
$returnResult->data->object = Locations::getLocation($gameId, $qrcode->link_id)->data;
if (!$returnResult->data->object) {
return new returnData(5, NULL, "bad link in qr code, no matching location found");
}
break;
default:
return new returnData(5, NULL, "Invalid QR Code Record. link_type not recognized");
}
return $returnResult;
//Delete the file since we will never use it again
//unlink($strFileName);
}
示例4: createMediaFromJSON
public function createMediaFromJSON($glob)
{
$path = $glob->path;
$filename = $glob->filename;
$data = $glob->data;
$resizeTo = isset($glob->resizeTo) ? $glob->resizeTo : null;
$gameMediaDirectory = Media::getMediaDirectory($path)->data;
$md5 = md5((string) microtime() . $filename);
$ext = strtolower(substr($filename, -3));
$newMediaFileName = 'aris' . $md5 . '.' . $ext;
$resizedMediaFileName = 'aris' . $md5 . '_128.' . $ext;
if ($ext != "jpg" && $ext != "png" && $ext != "gif" && $ext != "mp4" && $ext != "mov" && $ext != "m4v" && $ext != "3gp" && $ext != "caf" && $ext != "mp3" && $ext != "aac" && $ext != "m4a" && $ext != "zip") {
return new returnData(1, NULL, "Invalid filetype:{$ext}");
}
$fullFilePath = $gameMediaDirectory . "/" . $newMediaFileName;
if (isset($resizeTo) && ($ext == "jpg" || $ext == "png" || $ext == "gif")) {
$bigFilePath = $gameMediaDirectory . "/big_" . $newMediaFileName;
$fp = fopen($bigFilePath, 'w');
if (!$fp) {
return new returnData(1, NULL, "Couldn't open file:{$bigFilePath}");
}
fwrite($fp, base64_decode($data));
fclose($fp);
$image = new Imagick($bigFilePath);
// Reorient based on EXIF tag
switch ($image->getImageOrientation()) {
case Imagick::ORIENTATION_UNDEFINED:
// We assume normal orientation
break;
case Imagick::ORIENTATION_TOPLEFT:
// All good
break;
case Imagick::ORIENTATION_TOPRIGHT:
$image->flopImage();
break;
case Imagick::ORIENTATION_BOTTOMRIGHT:
$image->rotateImage('#000', 180);
break;
case Imagick::ORIENTATION_BOTTOMLEFT:
$image->rotateImage('#000', 180);
$image->flopImage();
break;
case Imagick::ORIENTATION_LEFTTOP:
$image->rotateImage('#000', 90);
$image->flopImage();
break;
case Imagick::ORIENTATION_RIGHTTOP:
$image->rotateImage('#000', 90);
break;
case Imagick::ORIENTATION_RIGHTBOTTOM:
$image->rotateImage('#000', -90);
$image->flopImage();
break;
case Imagick::ORIENTATION_LEFTBOTTOM:
$image->rotateImage('#000', -90);
break;
}
$image->setImageOrientation(Imagick::ORIENTATION_TOPLEFT);
// Resize image proportionally so min(width, height) == $resizeTo
if ($image->getImageWidth() < $image->getImageHeight()) {
$image->resizeImage($resizeTo, 0, Imagick::FILTER_LANCZOS, 1);
} else {
$image->resizeImage(0, $resizeTo, Imagick::FILTER_LANCZOS, 1);
}
$image->setImageCompression(Imagick::COMPRESSION_JPEG);
$image->setImageCompressionQuality(40);
$image->writeImage($fullFilePath);
unlink($bigFilePath);
} else {
$fp = fopen($fullFilePath, 'w');
if (!$fp) {
return new returnData(1, NULL, "Couldn't open file:{$fullFilePath}");
}
fwrite($fp, base64_decode($data));
fclose($fp);
}
if ($ext == "jpg" || $ext == "png" || $ext == "gif") {
$img = WideImage::load($fullFilePath);
$img = $img->resize(128, 128, 'outside');
$img = $img->crop('center', 'center', 128, 128);
$img->saveToFile($gameMediaDirectory . "/" . $resizedMediaFileName);
} else {
if ($ext == "mp4") {
/*
$ffmpeg = '../../libraries/ffmpeg';
$videoFilePath = $gameMediaDirectory."/".$newMediaFileName;
$tempImageFilePath = $gameMediaDirectory."/temp_".$resizedMediaFileName;
$imageFilePath = $gameMediaDirectory."/".$resizedMediaFileName;
$cmd = "$ffmpeg -i $videoFilePath 2>&1";
$thumbTime = 1;
if(preg_match('/Duration: ((\d+):(\d+):(\d+))/s', shell_exec($cmd), $videoLength))
$thumbTime = (($videoLength[2] * 3600) + ($videoLength[3] * 60) + $videoLength[4])/2;
$cmd = "$ffmpeg -i $videoFilePath -deinterlace -an -ss $thumbTime -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $tempImageFilePath 2>&1";
shell_exec($cmd);
$img = WideImage::load($tempImageFilePath);
$img = $img->resize(128, 128, 'outside');
$img = $img->crop('center','center',128,128);
$img->saveToFile($imageFilePath);
*/
//.........这里部分代码省略.........
示例5: createGame
public function createGame($name, $description, $iconMediaId, $mediaId, $readyForPublic, $isLocational, $introNodeId, $completeNodeId, $shareToMap, $shareToBook, $allowPlayerTags, $allowNoteComments, $allowNoteLikes, $pcMediaId, $usePlayerPic, $mapType, $showPlayerOnMap, $allLocQuickTravel, $inventoryWeightCap, $allowTrading, $editorId, $editorToken)
{
if (!Module::authenticateEditor($editorId, $editorToken, "read_write")) {
return new returnData(6, NULL, "Failed Authentication");
}
$name = addslashes($name);
$description = addslashes($description);
if ($g = Module::queryObject("SELECT * FROM games WHERE name = '" . $name . "'")) {
return new returnData(4, $g->game_id, 'duplicate name');
}
$query = "INSERT INTO games (\n name, description,\n icon_media_id, media_id,\n ready_for_public, is_locational,\n on_launch_node_id, game_complete_node_id,\n allow_share_note_to_map, allow_share_note_to_book, allow_player_tags, allow_note_comments, allow_note_likes,\n pc_media_id, use_player_pic,\n map_type, show_player_location,\n full_quick_travel,\n inventory_weight_cap, allow_trading,\n created\n ) VALUES (\n '" . $name . "', '" . $description . "',\n '" . $iconMediaId . "', '" . $mediaId . "',\n '" . $readyForPublic . "', '" . $isLocational . "',\n '" . $introNodeId . "', '" . $completeNodeId . "',\n '" . $shareToMap . "', '" . $shareToBook . "', '" . $allowPlayerTags . "', '" . $allowNoteComments . "', '" . $allowNoteLikes . "',\n '" . $pcMediaId . "', '" . $usePlayerPic . "',\n '" . $mapType . "', '" . $showPlayerOnMap . "',\n '" . $allLocQuickTravel . "',\n '" . $inventoryWeightCap . "', '" . $allowTrading . "',\n NOW())";
Module::query($query);
if (mysql_error()) {
return new returnData(6, NULL, "cannot create game record using SQL: {$query}");
}
$newGameId = mysql_insert_id();
Module::query("INSERT INTO game_editors (game_id,editor_id) VALUES ('{$newGameId}','{$editorId}')");
if (mysql_error()) {
return new returnData(6, NULL, 'cannot create game_editors record');
}
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'QUESTS', '1')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'GPS', '2')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'INVENTORY', '3')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'QR', '4')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'PLAYER', '5')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'NOTE', '6')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'STARTOVER', '998')");
Module::query("INSERT INTO `game_tab_data` (`game_id` ,`tab` ,`tab_index`) VALUES ('{$newGameId}', 'PICKGAME', '9999')");
$newGameDirectory = Media::getMediaDirectory($newGameId)->data;
mkdir($newGameDirectory, 0777);
return new returnData(0, $newGameId, NULL);
}