echo "<p>An error occurred.</p>"; exit; } // ensure a safe filename $name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]); // don't overwrite an existing file $i = 0; $parts = pathinfo($name); while (file_exists(UPLOAD_DIR . $name)) { $i++; $name = $parts["filename"] . "-" . $i . "." . $parts["extension"]; } // preserve file from temporary directory $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $name); if (!$success) { echo "<p>Unable to save file.</p>"; exit; } else { //create thumbnails for the images that have been uploaded thumbs('../uploaded_files/' . $folder, $folder); } echo "<img id='image_dummy' src='uploaded_files/" . $folder . "/thumbs/" . $name . "' name='" . $name . "'/>"; // set proper permissions on the new file chmod(UPLOAD_DIR . $name, 0644); if ($folder == 'profile_pictures') { $result = mysql_query("UPDATE members SET profilepic = '{$name}' WHERE id = '{$_SESSION['user_id']}' ") or die("Database query has failed: " . mysql_error()); $_SESSION['userpf'] = $name; } } } mysql_close();
print "GET\n"; print var_dump($_GET); print "POST\n"; print var_dump($_POST); $args = explode('/', $_GET['args']); switch ($_GET['cmd']) { case 'get': switch ($args[0]) { case 'tags': tags($db); break; case 'images': images($db); break; case 'thumbs': thumbs($db); break; } break; } ?> api methods: get: tags: namespace: password: images: search: namespace: password:
<?php if (!$_PEFI->crdntls->can('assets', 'LIST')) { redirect_to_login($_PEFI->route->page); } $uri = $_REQUEST['page']; $r = new Pefi_Router($uri, $_PEFI->tr); $page = $r->page->getKey(); $imgsdir = "images/{$page}"; $imgs = discoverFiles($imgsdir, array('jpg', 'gif', 'png')); if ($_PEFI->crdntls->can('assets')) { if ($todo === 'assets-generatethumbs') { $_PEFI->view->content .= thumbs($imgs); } elseif ($todo === 'assets-upload') { $_PEFI->view->messages[] = upload($imgsdir); // images were added: discover again $imgs = discoverFiles($imgsdir, array('jpg', 'gif', 'png')); } } if ($todo !== 'assets-generatethumbs') { $_PEFI->view->content = images($imgs); if ($_PEFI->crdntls->can('assets')) { $_PEFI->view->content .= form($page); } } $_PEFI->view->title = 'Assets management'; function upload($imgsdir) { if ($_FILES['newImage']['size'] !== 0) { $name = basename($_POST['newImageName'] == '' ? strtolower($_FILES['newImage']['name']) : strtolower($_POST['newImageName']), '.jpg'); $fName = $imgsdir . '/' . $name . '.jpg';
function thumbnail($picture, $w = "", $h = "", $thumb = 1, $crop = 0, $arrMore = array()) { $arr_duoi = array('gif', 'png', 'jpg'); $duoi = strtolower(substr($picture, strrpos($picture, ".") + 1)); if (!in_array($duoi, $arr_duoi)) { $picture = 'public/upload/nophoto/nophoto.jpg'; } $out = ""; $pre = $w; if ($h) { $pre = $w . "x" . $h; } else { $h = $w; } if (isset($arrMore['fixMin'])) { $pre .= "_fmin"; } if (isset($arrMore['fixMax'])) { $pre .= "_fmax"; } if (isset($arrMore['fixWidth'])) { $pre .= "_fw"; } if (isset($arrMore['zoomMax'])) { $pre .= "_zmax"; } if ($crop != 0) { $pre .= "_crop"; } $linkhinh = $picture; $linkhinh = str_replace("//", "/", $linkhinh); $dir = substr($linkhinh, 0, strrpos($linkhinh, "/")); $pic_name = substr($linkhinh, strrpos($linkhinh, "/") + 1); //$linkhinh = "uploads/" . $linkhinh; if ($w) { if ($thumb) { $folder_thumbs = str_replace('public/upload/', 'public/thumbs_size/', $dir . '/'); $folder_thumbs .= substr($pic_name, 0, strrpos($pic_name, ".")); $folder_thumbs .= '_' . substr($pic_name, strrpos($pic_name, ".") + 1); $file_thumbs = $folder_thumbs . "/{$pre}_" . substr($linkhinh, strrpos($linkhinh, "/") + 1); $linkhinhthumbs = SITE_PATH . $file_thumbs; //$linkhinhthumbs = SITE_PATH . "public/thumbs_size/" . $file_thumbs; if (!file_exists($linkhinhthumbs)) { rmkdir($folder_thumbs, 0777, "thumbs_size"); // thum hinh thumbs(SITE_PATH . $linkhinh, $linkhinhthumbs, $w, $h, $crop, $arrMore); } $src = URL::root() . $file_thumbs; } else { $src = URL::root() . $folder_thumbs . "/" . $pic_name; } } else { $src = URL::root() . 'uploads/' . $picture; } return $src; }