Esempio n. 1
0
 function file_upload($location, $name)
 {
     $storage = new \Upload\Storage\FileSystem($this->basedir . 'img/' . $location, true);
     $file = new \Upload\File('file', $storage);
     // Optionally you can rename the file on upload
     $new_filename = $this->clean_str($name);
     $file->setName($new_filename);
     // Validate file upload
     // MimeType List => http://www.webmaster-toolkit.com/mime-types.shtml
     $file->addValidations(array(new \Upload\Validation\Mimetype(array('image/png', 'image/bmp', 'image/jpeg', 'image/pjpeg', 'image/gif')), new \Upload\Validation\Size('15M')));
     // Access data about the file that has been uploaded
     $data = array('name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize(), 'md5' => $file->getMd5(), 'dimensions' => $file->getDimensions());
     // Try to upload file
     try {
         // Success!
         $file->upload();
         return $data;
     } catch (\Exception $e) {
         // Fail!
         $errors = $file->getErrors();
         $contex[0] = $e->getFile();
         $contex[1] = $e->getLine();
         $this->log->addError($e->getMessage(), $contex);
     }
 }
Esempio n. 2
0
 public function TestUploadIt()
 {
     $req = App::request();
     if ($req->isPost()) {
         echo ROOT;
         $storage = new \Upload\Storage\FileSystem(ROOT . "/data/v");
         $file = new \Upload\File('gfile', $storage);
         // Optionally you can rename the file on upload
         $new_filename = uniqid();
         $file->setName($new_filename);
         // Validate file upload
         // MimeType List => http://www.webmaster-toolkit.com/mime-types.shtml
         $file->addValidations(array(new \Upload\Validation\Mimetype('video/mp4'), new \Upload\Validation\Size('750M')));
         // Access data about the file that has been uploaded
         $data = array('name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize(), 'md5' => $file->getMd5(), 'dimensions' => $file->getDimensions());
         // Try to upload file
         try {
             // Success!
             $file->upload();
         } catch (\Exception $e) {
             // Fail!
             $errors = $file->getErrors();
             var_dump($errors);
         }
         echo "just for post";
     } else {
         App::render('/viewku/formupload');
     }
 }
Esempio n. 3
0
 public function upload_csv()
 {
     $storage = new \Upload\Storage\FileSystem($this->Service->Config()->get_basepath() . '/static/uploads');
     $file = new \Upload\File('file', $storage);
     // Optionally you can rename the file on upload
     $new_filename = uniqid();
     $file->setName($new_filename);
     // Validate file upload
     // MimeType List => http://www.webmaster-toolkit.com/mime-types.shtml
     $file->addValidations(array(new \Upload\Validation\Mimetype(array('text/csv', 'text/plain')), new \Upload\Validation\Size('5M')));
     // Access data about the file that has been uploaded
     $data = array('name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize(), 'md5' => $file->getMd5(), 'dimensions' => $file->getDimensions());
     // var_dump($data);
     // Try to upload file
     try {
         // Success!
         if ($file->upload()) {
             return $data;
         }
     } catch (\Exception $e) {
         // Fail!
         $errors = $file->getErrors();
         var_dump($errors);
     }
 }
Esempio n. 4
0
 public static function add($formname, $newpath, $newname = '')
 {
     $storage = new \Upload\Storage\FileSystem($newpath);
     $file = new \Upload\File($formname, $storage);
     // Optionally you can rename the file on upload
     if ($newname) {
         $file->setName($newname);
     }
     // Validate file upload
     // MimeType List => http://www.webmaster-toolkit.com/mime-types.shtml
     $file->addValidations(array(new \Upload\Validation\Mimetype(array('image/png', 'image/gif', 'image/jpeg', 'image/jpeg')), new \Upload\Validation\Size('5M')));
     // Try to upload file
     $errors = '';
     try {
         // Success!
         $file->upload();
     } catch (\Exception $e) {
         // Fail!
         $errors = $file->getErrors();
     }
     if ($errors) {
         return $errors;
     } else {
         // Access data about the file that has been uploaded
         return array('name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize());
     }
 }
Esempio n. 5
0
 protected function uploadFile($field_name)
 {
     $storage = new \Upload\Storage\FileSystem(PUBLIC_DIR_UPLOAD);
     $file = new \Upload\File($field_name, $storage);
     $file->setName(uniqid());
     $file->addValidations(array(new \Upload\Validation\Mimetype(['image/png', 'image/jpeg']), new \Upload\Validation\Size('2M')));
     try {
         $data = array('status' => true, 'name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize(), 'md5' => $file->getMd5(), 'dimensions' => $file->getDimensions());
         $file->upload();
     } catch (\Exception $e) {
         $data = ['status' => false, 'message' => $file->getErrors(), 'name' => ""];
     }
     return $data;
 }
Esempio n. 6
0
 public function uploadAction()
 {
     $storage = new \Upload\Storage\FileSystem('uploads');
     $file = new \Upload\File('file', $storage);
     $new_filename = uniqid();
     $file->setName($new_filename);
     $_SESSION['uploads'][] = $new_filename . '.' . $file->getExtension();
     $file->addValidations(array(new \Upload\Validation\Mimetype(array('image/png', 'image/gif', 'image/jpg')), new \Upload\Validation\Size('6M')));
     $errors = array();
     try {
         $file->upload();
     } catch (Exception $e) {
         $errors = $file->getErrors();
     }
     $response_data = array('errors' => $errors);
     echo json_encode($response_data);
 }
Esempio n. 7
0
 public function testGetErrors()
 {
     $file = new \Upload\File('single', $this->storage);
     $file->addValidation(new \Upload\Validation\Mimetype(array('text/csv')));
     $file->isValid();
     $this->assertCount(1, $file->getErrors());
 }
Esempio n. 8
0
});
$app->post('/upload/file', function () use($app) {
    // Setup file storage
    $file_storage = new \Upload\Storage\FileSystem("../assets/files");
    $file = new Upload\File("file", $file_storage);
    $file->addValidations(array(new Upload\Validation\Mimetype(array('application/pdf'))));
    $file->setName(uniqid());
    try {
        // Success!
        $file->upload();
        header("Content-Type: text/html");
        print json_encode(array("status" => "success", "filename" => $file->getName() . '.' . $file->getExtension()));
        exit;
    } catch (\Exception $e) {
        header("Content-Type: text/html");
        print json_encode(array("status" => "error", "errors" => $file->getErrors()));
        exit;
    }
});
$app->get("/mailsubscription/:uid", function ($uid) {
    try {
        $mailSubscription = MailSubscription::getByUserId($uid);
        $subscribed = true;
    } catch (MailSubscriptionNotFoundException $e) {
        $subscribed = false;
    }
    outputJSON(array("subscribed" => $subscribed));
});
$app->get("/mailsubscription/subscribe/:uid", function ($uid) {
    try {
        $mailSubscription = MailSubscription::getByUserId($uid);
 public function get_m3u_data()
 {
     if (!$this->isAjax || $this->method != 'POST') {
         $this->app->abort(404, 'Page not found...');
     }
     if ($no_auth = $this->checkAuth()) {
         return $no_auth;
     }
     $data = array();
     $data['action'] = 'loadM3UData';
     $data['data'] = array('channels' => array(), 'last_channel_number' => 0, 'free_number_exists' => 1);
     $error = $this->setLocalization('Upload failed');
     $storage = new \Upload\Storage\FileSystem('/tmp', TRUE);
     $file = new \Upload\File('qqfile', $storage);
     try {
         // Success!
         $file->upload();
         $obj = new M3uParser\M3uParser();
         $m3u_data = $obj->parseFile($file->getPath() . '/' . $file->getNameWithExtension());
         @unlink($file->getPath() . '/' . $file->getNameWithExtension());
         $data['data']['last_channel_number'] = (int) $this->db->getLastChannelNumber();
         if ($data['data']['last_channel_number'] + count($m3u_data) > 9999) {
             $data['data']['free_number_exists'] = (int) ($this->db->getAllChannels(array(), 'COUNT') + count($m3u_data) <= 9999);
         }
         foreach ($m3u_data as $entry) {
             $name = trim($entry->getName());
             if (!mb_check_encoding($name, 'UTF-8')) {
                 $name = mb_convert_encoding($name, 'UTF-8', array('CP1251'));
             }
             $data['data']['channels'][] = array('name' => $name, 'cmd' => trim($entry->getPath()));
         }
         $error = '';
     } catch (\Exception $e) {
         // Fail!
         $data['msg'] = $error = $file->getErrors();
     }
     $response = $this->generateAjaxResponse($data, $error);
     $json_string = json_encode($response);
     if (json_last_error() !== JSON_ERROR_NONE) {
         $error = $this->setLocalization('Error m3u parse. Check the file encoding. Required UTF-8 encoding.');
         $json_string = json_encode(array('msg' => $error, 'error' => $error));
     }
     return new Response($json_string, empty($error) ? 200 : 500);
 }
Esempio n. 10
0
 public function upload()
 {
     $this->logger->info("======================");
     $this->logger->info("upload() Method called");
     $file = new \Upload\File($this->getFileName(), $this->source);
     $file->addValidations($this->getValidations());
     $this->logger->info("Discovered file :" . $file->getNameWithExtension() . " tmpName:" . $file->getRealPath());
     try {
         $tmpName = $file->getRealPath();
         $originalName = $file->getNameWithExtension();
         $hash = md5_file($tmpName);
         $this->logger->info("Created hash for file:" . $hash);
         $this->logger->info("Checking if file with hash = {$hash} exists in db.");
         $fileExistsInDb = $this->fileExistsInDb($hash);
         if ($fileExistsInDb !== false) {
             $this->logger->info("Found " . json_encode($fileExistsInDb));
             $this->logger->info("File already exists");
             return $this->setResult(["success" => false, "message" => "Same File", "id" => abs($fileExistsInDb["id"]), "error" => 4]);
         }
         $this->logger->info("File is unique, file will be validated before saving to db.");
         if (!$file->validate()) {
             $this->logger->info("File is invalid. " . json_encode($file->getErrors()));
             return $this->setResult(["success" => false, "id" => -1, "message" => "Invalid file type.\nMimeType: " . $file->getMimeType(), "additionalInfo" => implode($file->getErrors()), "error" => 3]);
         }
         $this->logger->info("File passed validation. Saving to db.");
         $stmnt = $this->db->prepare("Insert into upload (hash) values (:hash) returning id");
         $stmnt->bindParam(':hash', $hash);
         $stmnt->execute();
         $saveResult = $stmnt->fetch()['id'];
         $this->logger->info("Successfully saved to db with id {$saveResult}");
         if (!$saveResult) {
             $this->logger->info("Failure to save file to db.");
             return $this->setResult(["success" => false, "id" => -1, "message" => "Error in data.", "error" => 7]);
         }
         $uploadBaseDir = $this->container["uploadConfig"]["path"];
         $adapter = new Local($uploadBaseDir, 0);
         $fileParentDir = (string) round($saveResult, -4);
         if (!$adapter->has($fileParentDir)) {
             $config = new Config(['visibility' => 'public']);
             $adapter->createDir($fileParentDir, $config);
         }
         $file = new \Upload\File($this->getFileName(), new FileSystem($uploadBaseDir . $fileParentDir));
         $file->addValidations($this->getValidations());
         $file->setName($saveResult);
         $newFullPath = $uploadBaseDir . $fileParentDir . DS . $file->getNameWithExtension();
         $extension = $file->getExtension();
         $this->logger->info("File will be uploaded to {$newFullPath}");
         $result = $file->upload();
         if (!$result) {
             return $this->setResult(["success" => false, "id" => -1, "message" => "Error uploading file.", "error" => 8]);
         }
         $this->logger->info("File upload successful.");
         $cvlizerConfig = $this->container["cvlizer"];
         $this->logger->info("Reading data of \n {$newFullPath}");
         $fileContents = file_get_contents($newFullPath);
         $soapClient = new \SoapClient($cvlizerConfig["uri"]);
         $this->logger->info("Parsing data with arguments : extractToXML(" . $cvlizerConfig["username"] . "," . $cvlizerConfig["password"] . ", EN, " . $cvlizerConfig["model"] . ", ..., " . $extension . ")");
         $parsedData = $soapClient->extractToXML($cvlizerConfig["username"], $cvlizerConfig["password"], "EN", $cvlizerConfig["model"], $fileContents, $extension);
         if (is_soap_fault($parsedData)) {
             $message = "Error parsing file.\n" . $parsedData->faultcode . "\n" . $parsedData->faultstring;
             $this->logger->info($message);
             return $this->setResult(["success" => false, "id" => -1, "message" => $message, "error" => 9]);
         }
         $this->logger->info("Parse successful.");
         $xmlFile = fopen($cvlizerConfig["xmlSavePath"] . abs($saveResult) . ".xml", "w") or die("Unable to open file!");
         $this->logger->info("Writing to file. {$xmlFile}");
         fwrite($xmlFile, $parsedData);
         fclose($xmlFile);
         $this->logger->info("Write successful.");
         $updateStatement = $this->db->update(["name" => $originalName, "ftype" => $extension, "created" => date("Y-m-d H:i:s")])->table("upload")->where("id", "=", $saveResult);
         $affectedRows = $updateStatement->execute();
         $this->logger->info("Executing sql:\n" . $updateStatement->__toString());
         if ($affectedRows) {
             $this->logger->info("Successfully executed");
             $cv = new CV($parsedData);
             $cv->setId($saveResult);
             $saved = $cv->saveToDb();
             $this->logger->info(json_encode($saved));
             if ($saved) {
                 $this->setResult(["success" => true, "id" => $saveResult, "message" => "New", "error" => 0]);
             }
         } else {
             $message = "Error saving data.";
             $this->logger->info($message);
             return $this->setResult(["success" => false, "id" => 10, "message" => $message]);
         }
     } catch (\Exception $e) {
         $this->logger->info($e->getMessage());
         $this->logger->info($e->__toString());
         return $this->setResult(["success" => false, "id" => -1, "message" => "Error processing file. " . $e->getMessage(), "error" => 10]);
     }
 }
Esempio n. 11
0
require '../vendor/autoload.php';
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
$app = new \Slim\Slim(array("debug" => true, 'templates.path' => '../templates'));
// Define app routes
$app->get('/home', function () use($app) {
    $app->render('home.php', array());
});
$app->post('/shrink', function () use($app) {
    $storage = new \Upload\Storage\FileSystem("/tmp");
    $file = new \Upload\File("file", $storage);
    $newFilename = uniqid();
    $file->setName($newFilename);
    // Validate file upload
    // Ensure file is of type "image/png"
    $file->addValidations(array(new \Upload\Validation\Mimetype('image/png')));
    // Try to upload file
    try {
        // Success!
        $file->upload();
    } catch (\Exception $e) {
        // Fail!
        $errors = $file->getErrors();
        die;
    }
    $compressed_png_content = shell_exec("pngquant - < " . escapeshellarg("/tmp/{$newFilename}"));
    header('Content-Type:image/png');
    echo $compressed_png_content;
});
$app->run();
Esempio n. 12
0
*     {
*       "error": code error
*     }
*/
$app->post('/banniere/', function ($request, $response) use($app) {
    try {
        $yaml = new Parser();
        $config = $yaml->parse(file_get_contents('config/config.yml'));
        $storage = new \Upload\Storage\FileSystem($config['parameters']["dir_files"] . 'mobile');
        $file = new \Upload\File('file', $storage);
        //on passe son id en nom
        $file->setName('banniere_mobile');
        $file->addValidations(array(new \Upload\Validation\Mimetype(array('image/png', 'image/jpeg', 'image/pjpeg')), new \Upload\Validation\Size('5M')));
        //check la validité du fichier pour supprimer le/les ancienne(s) image(s)
        if ($file->validate()) {
            foreach (glob($config['parameters']["dir_files"] . 'mobile/banniere_mobile.*') as $oldFile) {
                unlink($oldFile);
            }
        }
        //on upload le fichier
        $file->upload();
        $response = $response->withJson(array("status" => array("succes" => "fichier upload")), 200);
    } catch (\Exception $e) {
        if (!empty($file)) {
            $response = $response->withJson(array("status" => array("error" => $file->getErrors())), 400);
        } else {
            $response = $response->withJson(array("status" => array("error" => $e->getMessage())), 400);
        }
    }
    return $response;
});
Esempio n. 13
0
 $data = array();
 $i = 0;
 $k = 0;
 /* 文件上传数量限制 */
 if ($file->count() > 5) {
     $error = '已到最大数量了!';
     $body['code'] = 30109;
     $body['message'] = $error;
     $headers['setCommonHeader']();
     $app['http']->response->setStatus(200);
     $app['http']->response->setBody($app['encoder']->encode($body));
     $app['http']->stop();
 }
 $file->addValidations(array(new \Upload\Validation\Mimetype(array('image/png', 'image/jpeg')), new \Upload\Validation\Size('5M')))->beforeValidate(function ($fileInfo) use($file) {
     /* 文件上传失败,捕获错误代码 */
     if ($file->getErrors()) {
         $error = $file->getErrors();
         $body['code'] = 30109;
         $body['message'] = $error;
         $headers['setCommonHeader']();
         $app['http']->response->setStatus(200);
         $app['http']->response->setBody($app['encoder']->encode($body));
         $app['http']->stop();
     }
     /* 无效上传 */
     $res_getName = $fileInfo->getName();
     if (empty($res_getName)) {
         $error = '未知上传错误!';
         $body['code'] = 30109;
         $body['message'] = $error;
         $headers['setCommonHeader']();
Esempio n. 14
0
 /**
  * [article_update 更新文章]
  * @return [type] [description]
  */
 public function article_update($slug)
 {
     if (IS_POST) {
         //实例化上传类
         $storage = new \Upload\Storage\FileSystem(__UPLOAD__);
         $file = new \Upload\File('foo', $storage);
         $fileName = $file->getNameWithExtension();
         if (!empty($fileName)) {
             // Optionally you can rename the file on upload
             $new_filename = uniqid();
             $file->setName($new_filename);
             // Validate file upload
             // MimeType List => http://www.webmaster-toolkit.com/mime-types.shtml
             $file->addValidations([new \Upload\Validation\Mimetype(['image/png', 'image/gif', 'image/jpeg', 'image/jpg']), new \Upload\Validation\Size('5M')]);
             // Access data about the file that has been uploaded
             $data = ['name' => $file->getNameWithExtension(), 'extension' => $file->getExtension(), 'mime' => $file->getMimetype(), 'size' => $file->getSize(), 'md5' => $file->getMd5(), 'dimensions' => $file->getDimensions()];
             // Try to upload file
             try {
                 // Success!
                 $file->upload();
                 $arcData = ['title' => I('post.title'), 'thumb' => $data['name'], 'keywords' => I('post.keywords'), 'content' => I('post.content'), 'description' => I('post.description'), 'category_id' => I('post.category_id'), 'click' => I('post.click'), 'writer' => I('post.writer'), 'source' => I('post.source'), 'pubdate' => time()];
                 Article::where(['id' => $slug])->update($arcData);
                 View::success('修改成功');
                 die;
             } catch (\Exception $e) {
                 // Fail!
                 $errors = $file->getErrors();
                 View::error($errors['0']);
                 die;
             }
         }
         if (isset($_POST['del_img'])) {
             $arcData = ['title' => I('post.title'), 'keywords' => I('post.keywords'), 'thumb' => '', 'content' => I('post.content'), 'description' => I('post.description'), 'category_id' => I('post.category_id'), 'click' => I('post.click'), 'writer' => I('post.writer'), 'source' => I('post.source'), 'pubdate' => time()];
             Article::where(['id' => $slug])->update($arcData);
             View::success('修改成功');
             die;
         } else {
             $arcData = ['title' => I('post.title'), 'keywords' => I('post.keywords'), 'content' => I('post.content'), 'category_id' => I('post.category_id'), 'click' => I('post.click'), 'writer' => I('post.writer'), 'source' => I('post.source'), 'pubdate' => time()];
             Article::where(['id' => $slug])->update($arcData);
             View::success('修改成功');
             die;
         }
     }
     $arcData = Article::find($slug)->toArray();
     //print_r($arcData);
     $topcate = Category::where(['pid' => 0, 'is_del' => 0])->get()->toArray();
     //组合分类数据
     foreach ($topcate as $k => $v) {
         $soncate = Category::where(['pid' => $v['id'], 'is_del' => 0])->get()->toArray();
         $topcate[$k]['soncate'] = $soncate;
     }
     $allcate = $topcate;
     $this->smarty->assign('title', '修改文章_ISisWeb中文网后台管理_ISirPHPFramework');
     $this->smarty->assign('cate', $allcate);
     $this->smarty->assign('arcData', $arcData);
     $this->smarty->display('Admin/Article/update.html');
     // die();
     // $this->view = View::make('/Admin/Article/update')
     // 				->with('cate',$allcate)
     // 				->with('arcData',$arcData)
     // 				->with('title','修改文章_ISirWeb中文网后台');
 }