Just nu i M3-nätverket
Jump to content

mac3

Medlem
  • Content count

    265
  • Joined

  • Last visited

  • Days Won

    3

mac3 last won the day on September 1 2014

mac3 had the most liked content!

About mac3

  • Rank
    Aktiv
  • Birthday 03/05/1985

Kontaktinformation

  • Hemsida
    http://mac3.se

Profil

  • Ort
    karlstad
  1. Hej jag försöker att sätta värdena när det kommer rätt förfrågan. men det blir fel ändå om expression är rätt och inga fel i koden i .htaccess exempel http://localhost/images/user/90x120/e332ec38-6e21-4fdf-821f-880ec356b579 SetEnvIfNoCase Request_URI "^/(images)[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|index|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/user/([^/]+)/([^/]+))$" HTTP_CONTROLLER=implement/images.class.php|images|user|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/temp/([^/]+)/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|temp|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/news/([^/]+)/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|news|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/media/([^/]+)/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|media|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/folder/([^/]+)/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|folder|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/user/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|user|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/temp/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|temp|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/news/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|news|session::updateOnline SetEnvIfNoCase Request_URI "^/(images/media/([^/]+))[/]{0,1}$" HTTP_CONTROLLER=implement/images.class.php|images|media|session::updateOnline
  2. htaccess vs php routing vs mysql

    Okej har inte testat htaccess,hur är det med säkhet om man ta upp förfrågningan och lägga till egna get värden innan php körs då? Jag läst att fanns säkerhet luck vid sätt get, jag vill gärna sätt en sökväg till kontrollen (get) idag gör jag att systemet få söker själv upp sökväg till kontrollen i min mappstruktur. Jag tror att det går snabbare men ett minns är att jag förlorar automatiskt sökväg till kontrollen.
  3. jag skulle lägga det i sql databas eller köra vbs program som skriver en csv fil men jag gissar att du vill https://stackoverflow.com/questions/9900916/insert-line-break-in-wrapped-cell-via-code
  4. htaccess vs php routing vs mysql

    Hej alla jag undrar vad är snabbast om mellan htaccess och php routing samt mysql? eftersom jag har över 200 olika adresser som genom en php routing.
  5. ANSWERED php datum

    Jag fixade genom att använder $date = new DateTime(explode(" ", $this->time)[0]);
  6. ANSWERED php datum

    Hej alla jag har ett konstigt fel med klassen DateTime , jag räkna ut diff på dagarna och det går fint med ett värde men om jag loppar ut en array och skriv ut data då fuskar den. hur fixar jag detta här? Tack i förhand. $this->time = '2017-09-14 09:45:38' $datetime2 = new DateTime($this->time); $datetime1 = new DateTime('now'); $interval = $datetime1->diff($datetime2); unset($datetime2); unset( $datetime1);echo $days = $interval->format('%d');
  7. Lite hjälp önskas av nån som kan! :)

    för ditt önskemål behöver du en lista mysql tabell eller lista i text fil går fint också. sedan är det bara loopa ut den i select tagg med id el rad och titeln
  8. MySQL Event Scheduler

    Hejsan jag vill veta mer hur jag kan schemalägga en delete fråga min mysql fråga ser ut så här delete from online where date < DATE_SUB(NOW() , INTERVAL 2 HOUR) varje timme
  9. ANSWERED Behöver hjälp med curl och inloggning

    jag tänkte om du ville ha med namn på nyckeln när du skriver ut och min slutar vid mellanslag eller <
  10. Hämta "vinnare"

    Hejsan få man se på tabell Strukturen?
  11. ANSWERED Behöver hjälp med curl och inloggning

    Hej testa med den här $re = "/Din kontobalans: <b>(?<kontobalans>[^< ]+)/"; $str = "<div class=\"container_16\">\n<div class=\"grid_16 bottomSpacer\" id=\"head\"><a STYLE=\"color: black; text-decoration: none;\" href=\"index.php\"><img src=\"img/top_logo.gif\" alt=\"logo\"><span STYLE=\"font-size: 21px; position: relative; left: +7px; top: +4px; font-style: italic; text-shadow: 2px 2px white;\">mo-sms</span></a><span STYLE=\"font-size: 14px; position: relative; left: +17px; top: +4px; color:#919191; font-style: italic;\">i branschen sedan 2003</span>\n<a href=\"logout.php\" class=\"buttonH floatR\"><img src=\"img/icon_loggaut.png\" alt=\"logout\" />Logga ut</a>\n<a class=\"floatR\" style=\"padding-top: 4px; padding-right: 15px; color: black; font-size: 12px; text-decoration: none;\" href=\"vinst_logg.php\"><img STYLE=\"margin-right: 7px; position: relative; top: -2px;\" src=\"img/icon_coins.png\"/> Din kontobalans: <b>181,20</b> kr (exkl moms)</a>\n</div>"; preg_match($re, $str, $matches);
  12. ANSWERED spl_autoload_register

    Jag har hittat svaret själv, Det var ucfirst som gjorde det
  13. ANSWERED spl_autoload_register

    Hejsan alla Jag undrar hur kommer sig att det fungerar fint med spl_autoload_register på min dator ( 5.4.24 Version) men inte på webbplats (5.6 version) problemet bli att den laddar inte session::start() med spl_autoload_register <?php $i = 0; function s($name=""){ $args = func_num_args(); if($args==0){ // s() internt objekt return new internt(); }else{ // s('fråga') externt objekt return new externt($name); } } function action($name,$function=true){ if(is_callable($function) && $function()===true || $function===true || is_string($function) && s::router($function)){ $list = array('name','mode','pot'); $re = "/(?<name>.+?)\\((?<mode>\\d+)(?:[,.]{1}(?<pot>\\d+)){0,}\\)/"; if(preg_match($re, $name, $matches)){ $data = array(); $check = true; foreach($list as $n){ if(key_exists($n,$matches)){ $data[$n] = $matches[$n]; }else{ if($n!='pot' ){ // todo error msg $check = false; } } } if($check){ if(key_exists('pot',$data)){ externt::$names_set[$matches['mode']][$matches['pot']][$matches['name']] = $name; }else{ externt::$names_unset[$matches['mode']][][$matches['name']] = $name; } }else{ } }else{ // todo error msg } } } class internt{ public static $names = array(); public static $update = array(); private $_data = array(); function setErrorView($data=""){ if($data!=""){ self::$errorview = $data; return $this; } } function setError($text=""){ // mulit if($text!=""){ $args = func_get_args(); self::$errors[] = call_user_func_array('sprintf', $args); } } function getError(){ return self::$errors; } function set($name,$data){ if(!key_exists($name,self::$names)){ self::$names[$name] = $data; }else{ // todo error msg } } function load($path){ extract($this->_data); if(@include($_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_site'].$path)){ // todo log }else{ // todo error msg } } function to($name,$data){ $this->_data[$name] = $data; return $this; } function update($name,$function){ $re = "/(?<name>.+?)\\((?<mode>\\d+)\\)/"; if(preg_match($re, $name, $matches)){ self::$update[$matches['name']][$matches['mode']] = $function; }else{ // todo error msg } } function setArr($name,$data){ self::$names[$name][] = $data; } function get($name){ if(key_exists($name,self::$update)){ ksort(self::$update[$name]); foreach(self::$update[$name] as $val){ self::$names[$name] = $val(self::$names[$name]); } return self::$names[$name]; }else{ if(key_exists($name,self::$names)){ return self::$names[$name]; }else{ // todo error msg } } } } class externt{ public static $names_set = array(); public static $names_unset = array(); public static $system_names_beforea = array(); public static $system_names_before = array(); public static $system_names = array(); public static $system_names_unset = array(); public static $system_names_after = array(); public static $system_names_aftera = array(); public static $errorview = false; public static $errors = array(); public $key = ""; function __construct($name){ $this->key = $name; return $this; } function load($function){ if(is_callable($function)){ $tmp = $this->nameParser($this->key); if($this->key=="before"){ self::$system_names_beforea[0][$this->key][] = $function; ; } if($this->key=="after"){ self::$system_names_aftera[0][$this->key][] = $function; } if($tmp['typ']=="after"){ self::$system_names_after[$tmp['int0']][$tmp['class']][$tmp['fun']][0] = $function; } if($tmp['typ']=="after"){ self::$system_names_after[$tmp['int0']][$tmp['class']][$tmp['fun']][0] = $function; } if($tmp['typ']=="before"){ self::$system_names_before[$tmp['int0']][$tmp['class']][$tmp['fun']][0] = $function; } if($tmp['typ']=="" && $tmp['int1']!=""){ self::$system_names[$tmp['int0']][$tmp['class']][$tmp['fun']][$tmp['int1']] = $function; ksort(self::$system_names[$tmp['int0']][$tmp['class']][$tmp['fun']]); } if($tmp['typ']=="" && $tmp['int1']=="" && $this->key==""){ self::$system_names_unset[$tmp['int0']][$tmp['class']][$tmp['fun']][] = $function; } } } function call($data=""){ $tmp = $this->nameParser($this->key); if($tmp['typ']=="after"){ $d = self::$system_names_after[$tmp['int0']][$tmp['class']][$tmp['fun']][0]($data); $d($data); } if($tmp['typ']=="before"){ self::$system_names_before[$tmp['int0']][$tmp['class']][$tmp['fun']][0]($data); } if($tmp['typ']=="" && $tmp['int1']!="" && key_exists($tmp['int1'],self::$system_names[$tmp['int0']][$tmp['class']][$tmp['fun']])){ $d = self::$system_names[$tmp['int0']][$tmp['class']][$tmp['fun']][$tmp['int1']]; $d($data); } if($tmp['typ']=="" && $tmp['int1']!="" && key_exists($tmp['int1'],self::$system_names_unset[$tmp['int0']][$tmp['class']][$tmp['fun']])){ $d = self::$system_names_unset[$tmp['int0']][$tmp['class']][$tmp['fun']][$tmp['int1']]($data); $d($data); } } function nameParser($name){ $re = "/(?<class>.+)\\((?<int0>\\d+)\\)->(?<fun>.+)\\((?<typ>[^0-9,]+?){0,1}[,.]{0,1}(?<int1>\\d+){0,1}\\)/i"; $names = array('class','int0','fun','typ','int1'); $data = array(); if(preg_match($re, $name, $matches)){ foreach($names as $n){ if(key_exists($n,$matches)){ $data[$n] = $matches[$n]; }else{ $data[$n] = ""; } } return $data; }else{ return false; } } } class s{ function __construct(){ s('before')->load(function(){ if(!ob_get_level()){ ob_start('ob_gzhandler'); ob_start(); } s()->setArr('header',header('Vary: Accept-Encoding')); s()->setArr('header',header('Content-Type: text/html; charset=utf-8')); s()->setError(); }); s('after')->load(function(){ if(!headers_sent()){ foreach(s()->get('header') as $line){ $line; } } $content = ob_get_contents(); if(ob_get_level()) { ob_end_clean(); } print $content; }); action('autoload(0,0)'); s('autoload(0)->list(0)')->load(function(){ s()->setArr('autoload.list',array( 'path' => $_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_dll'].'%s.php', 'msg' => "Kunde inte ladda %s klassen.", 'type' => "dll" )); }); s('autoload(0)->list(1)')->load(function(){ s()->setArr('autoload.list',array( 'path' => $_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_sys'].'%s.php', 'msg' => "Kunde inte ladda system klassen %s.", 'type' => "sys" )); }); s('autoload(0)->list(after)')->load(function(){ spl_autoload_register(function($name){ $uname = ucfirst($name); foreach(s()->get('autoload.list') as $line){ if(file_exists(str_replace('%s',$uname,$line['path']))){ include_once(str_replace('%s',$uname,$line['path'])); if(class_exists($uname, false)){ config::registry($uname,$line['type']); }else{ throw new SystemException($line['msg'],$uname); } } } }); }); action('init(0,2)'); s('init(0)->sys(0)')->load(function(){ action('sys(1)'); }); s('sys(1)->Config(0)')->load(function(){ include_once($_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_config']."config.class.php"); }); s('sys(1)->SystemException(0)')->load(function(){ $errorhandler = new SystemException(); $errorhandler->register(); }); s('sys(1)->Session(0)')->load(function(){ session::start(); }); s('sys(1)->loadControllers(0)')->load(function(){ $filer = s::loadControllers($_SERVER["DOCUMENT_ROOT"].$_SERVER['HTTP_path_site']."{*/,*.class.php}"); $filer = s::sortbyfiles($filer); if(key_exists('files',$filer)){ s::geturls($filer['files']); } $sql = "SELECT * FROM `checkpoint`"; $db = new DatabaseConnection(); $data = $db->html->getRows($sql); print $db->getSql(); print_r($data); }); } public static function loadControllers($pattern){ $files = glob($pattern,GLOB_BRACE); foreach ($files as $k => $dir){ if(!is_file($dir)){ $files = array_merge($files, self::loadControllers($dir."{*/,*.class.php}")); } } return $files; } private static function sortbyfiles(array $files){ $file = array(); foreach ($files as $k => $dir){ if(!is_file($dir)){ $file['dirs'][] = $dir; }else{ $file['files'][] = $dir; } } return $file; } private static function CheckSyntax($fileName){ // Get the shell output from the syntax check command $output = shell_exec('php -l "'.$fileName.'"'); // Try to find the parse error text and chop it off $syntaxError = preg_replace("/Errors parsing.*$/", "", $output, -1, $count); // If the error text above was matched, throw an exception containing the syntax error if($count > 0){ // trim($syntaxError); return false; }else{ return true; } } private static function geturls($files){ foreach($files as $file){ if(self::CheckSyntax($file)){ include_once($file); } } } static function router($url){ $url = str_replace('%s','([^/]+)',$url); $url = str_replace('%d/','[0-9]+/',$url); $url = str_replace('%d','[0-9]+$',$url); $uri = self::matching(); if(preg_match_all('#'.$url.'#i', $uri, $s) && $s[0][0]==$uri){ return true; }else{ return false; } } static function matching(){ $REQUEST_URI = explode("?", $_SERVER["REQUEST_URI"]); $REQUEST_URI = substr($REQUEST_URI[0],1); if ($REQUEST_URI[strlen($REQUEST_URI) - 1] == '/'){ $REQUEST_URI = substr($REQUEST_URI, 0, -1); } return $REQUEST_URI; } function endofcode(){ $i=0; $o = false; if(key_exists(0,externt::$system_names_beforea)) { foreach(externt::$system_names_beforea[0] as $k => $rad){ foreach($rad as $vrk => $f){ $f(); } } } do{ if(key_exists($i,externt::$names_set) || key_exists($i,externt::$names_unset)) { $tmp = array(); if(key_exists($i,externt::$system_names_before)) { foreach(externt::$system_names_before[$i] as $k => $rad){ foreach($rad as $vrk => $vrrad){ foreach($vrrad as $mk => $f){ $tmp[$i][$k][] = $f; } } } } if(key_exists($i,externt::$system_names)) { foreach(externt::$system_names[$i] as $k => $rad){ foreach($rad as $vrk => $vrrad){ foreach($vrrad as $mk => $f){ $tmp[$i][$k][] = $f; } } } } if(key_exists($i,externt::$system_names_unset)) { foreach(externt::$system_names_unset[$i] as $k => $rad){ foreach($rad as $vrk => $vrrad){ foreach($vrrad as $mk => $f){ $tmp[$i][$k][] = $f; } } } } if(key_exists($i,externt::$system_names_after)) { foreach(externt::$system_names_after[$i] as $k => $rad){ foreach($rad as $vrk => $vrrad){ foreach($vrrad as $mk => $f){ $tmp[$i][$k][] = $f; } } } } $tmpname = array(); if(key_exists($i,externt::$names_set)){ ksort(externt::$names_set[$i]); foreach(externt::$names_set[$i] as $ndata){ foreach($ndata as $k => $v){ $tmpname[$i][][$k] = $v; } } } if(key_exists($i,externt::$names_unset)){ foreach(externt::$names_unset[$i] as $ndata){ foreach($ndata as $k => $v){ $tmpname[$i][][$k] = $v; } } } foreach($tmpname[$i] as $k => $fun){ foreach($fun as $ek => $efun){ if(key_exists($i,$tmp)){ foreach($tmp[$i][$ek] as $function){ $function(""); } } } } $i++; }else{ $o = true; break; } }while($o!=true); if(key_exists(0,externt::$system_names_aftera)) { foreach(externt::$system_names_aftera[0] as $k => $rad){ foreach($rad as $vrk => $f){ $f(); } } } } function __destruct(){ $this->endofcode(); } }
  14. jag hittade en sätt till min lösning function __construct(){ s('before')->load(function(){ if(!ob_get_level()){ ob_start('ob_gzhandler'); ob_start(); } s()->setArr('header',header('Vary: Accept-Encoding')); s()->setArr('header',header('Content-Type: text/html; charset=utf-8')); }); s('after')->load(function(){ if(!headers_sent()){ foreach(s()->get('header') as $line){ $line; } } $content = ob_get_contents(); if(ob_get_level()) { ob_end_clean(); } print $content; }); action('autoload(0)'); s('autoload(0)->list(0)')->load(function(){ s()->setArr('autoload.list',array( 'path' => $_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_dll'].'%s.php', 'msg' => "Kunde inte ladda %s klassen.", 'type' => "dll" )); }); s('autoload(0)->list(1)')->load(function(){ s()->setArr('autoload.list',array( 'path' => $_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_sys'].'%s.php', 'msg' => "Kunde inte ladda system klassen %s.", 'type' => "sys" )); }); s('autoload(0)->list(after)')->load(function(){ spl_autoload_register(function($name){ $uname = ucfirst($name); foreach(s()->get('autoload.list') as $line){ if(file_exists(str_replace('%s',$uname,$line['path']))){ include_once(str_replace('%s',$uname,$line['path'])); if(class_exists($uname, false)){ config::registry($uname,$line['type']); }else{ // throw new SystemException($line['msg'],$uname); } } } }); }); action('init(0)'); s('init(0)->sys(0)')->load(function(){ action('sys(1)'); }); s('sys(1)->Config(0)')->load(function(){ include_once($_SERVER['DOCUMENT_ROOT'].$_SERVER['HTTP_path_config']."config.class.php"); }); s('sys(1)->Session(0)')->load(function(){ session::start(); }); s('sys(1)->loadControllers(0)')->load(function(){ $filer = s::loadControllers($_SERVER["DOCUMENT_ROOT"].$_SERVER['HTTP_path_site']."{*/,*.class.php}"); $filer = s::sortbyfiles($filer); if(key_exists('files',$filer)){ s::geturls($filer['files']); } }); } public static function loadControllers($pattern){ $files = glob($pattern,GLOB_BRACE); foreach ($files as $k => $dir){ if(!is_file($dir)){ $files = array_merge($files, self::loadControllers($dir."{*/,*.class.php}")); } } return $files; } private static function sortbyfiles(array $files){ $file = array(); foreach ($files as $k => $dir){ if(!is_file($dir)){ $file['dirs'][] = $dir; }else{ $file['files'][] = $dir; } } return $file; } private static function CheckSyntax($fileName){ // Get the shell output from the syntax check command $output = shell_exec('php -l "'.$fileName.'"'); // Try to find the parse error text and chop it off $syntaxError = preg_replace("/Errors parsing.*$/", "", $output, -1, $count); // If the error text above was matched, throw an exception containing the syntax error if($count > 0){ // trim($syntaxError); return false; }else{ return true; } } private static function geturls($files){ foreach($files as $file){ if(self::CheckSyntax($file)){ include_once($file); } } } nu är visa felet
  15. Hejsan alla jag har gjort nästa klart mitt nya mvc. som är kvar på mitt mvc, är hantering av fel. från början vill jag göra en "php check syntaxen före inkludering" men jag har inte hitta nånting som gör det , mitt mål var att hoppa över den inkludering av fil och fortsätta köra koden ändå och ge kodare några val som visa minimal text eller tystläge betyder att mvc spara en log fil eller fulläge som ge allt om körningen mitt mvc lite speciellt det är att den inkluderar alla controller och sedan använder mitt mvc ett kod schema. det innebär att den koden som man skriver körs inte där den är skriven och den körs efter ordning som schema mvc har byggt upp automatiskt. det gör att man kan skriva över en del av koden eller lägga till etc hur gör jag när man få ett php fel. och hanterar man fel och visar de på bästa sätt.
×