[PHP] Pear windows installation paths.

2011-07-12 Thread Plamen Ivanov
Running PHP 5.3.6 Windows VC9 zipped binaries (windows.php.net).
I got the following messages after running 'pear' in the command line:

PHP Parser error: syntax error, unepxected '@' in
C:\php\PEAR\pearcmd.php on line 28

PHP Parser error: syntax error, unepxected '@' in
C:\php\PEAR\pearcmd.php on line 28

Because of the backslashes windows uses in paths, the last single
quote gets escaped.
Replacing \' with \\' fixes the problem.

Just wondering if this is a bug or expected behavior?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Php filter validate url

2011-06-27 Thread Plamen Ivanov
On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie nos...@mckenzies.net wrote:

 On 06/26/2011 12:31 PM, Adam Tong wrote:
  Hi,
 
  I wanted tu use php filters for validation to avoid regular expresions.
  Is it possible that FILTER_VALIDATE_URL only checks if the string has
  http:// and do not check for the format domain.something?
  
  $url = 'http://wwwtestcom';
  $url = filter_var($url,FILTER_VALIDATE_URL);
  echo $url;
  -
 
  Or I am doing something wrong
 
  Thank you

 Unless I'm totally misunderstanding what you want (validate that a
 string starts with http://) try:

 if(strpos($url, 'http://') === 0) {
   //starts with http://
 } esle {
   // does not start with http://
 }

 --
 Thanks!
 -Shawn
 http://www.spidean.com

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


Another possible solution could be:

$ary = explode('://', $url);
if (1 = count($ary)) {
    echo 'No schema specified!';
} else {
    // Schema specified.
    // $ary[0] is the protocol
$allowed = array('http', 'https');
if (FALSE == in_array($ary[0], $allowed) {
// Protocol not valid!
exit(1); // or return FALSE; whatever...
}
    // $ary[1] is the uri, validate with filter_var().
}

Hope this helps.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Php filter validate url

2011-06-27 Thread Plamen Ivanov
On Mon, Jun 27, 2011 at 11:14 AM, Shawn McKenzie nos...@mckenzies.net wrote:
 On 06/27/2011 10:01 AM, Plamen Ivanov wrote:
 On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie nos...@mckenzies.net wrote:

 On 06/26/2011 12:31 PM, Adam Tong wrote:
 Hi,

 I wanted tu use php filters for validation to avoid regular expresions.
 Is it possible that FILTER_VALIDATE_URL only checks if the string has
 http:// and do not check for the format domain.something?
 
 $url = 'http://wwwtestcom';
 $url = filter_var($url,FILTER_VALIDATE_URL);
 echo $url;
 -

 Or I am doing something wrong

 Thank you

 Unless I'm totally misunderstanding what you want (validate that a
 string starts with http://) try:

 if(strpos($url, 'http://') === 0) {
   //starts with http://
 } esle {
   // does not start with http://
 }

 --
 Thanks!
 -Shawn
 http://www.spidean.com

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


 Another possible solution could be:

 $ary = explode('://', $url);
 if (1 = count($ary)) {
     echo 'No schema specified!';
 } else {
     // Schema specified.
     // $ary[0] is the protocol
     $allowed = array('http', 'https');
     if (FALSE == in_array($ary[0], $allowed) {
         // Protocol not valid!
         exit(1); // or return FALSE; whatever...
     }
     // $ary[1] is the uri, validate with filter_var().
 }

 Hope this helps.

 May make more sense to use parse_url() than explode.

 --
 Thanks!
 -Shawn
 http://www.spidean.com


http://php.net/manual/en/function.parse-url.php
This function is not meant to validate the given URL...

I would use parse_url() after URL validation.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Re: Php filter validate url

2011-06-27 Thread Plamen Ivanov
On Mon, Jun 27, 2011 at 11:34 AM, Jim Lucas li...@cmsws.com wrote:
 On 6/27/2011 8:25 AM, Plamen Ivanov wrote:
 On Mon, Jun 27, 2011 at 11:14 AM, Shawn McKenzie nos...@mckenzies.net 
 wrote:
 On 06/27/2011 10:01 AM, Plamen Ivanov wrote:
 On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie nos...@mckenzies.net 
 wrote:

 On 06/26/2011 12:31 PM, Adam Tong wrote:
 Hi,

 I wanted tu use php filters for validation to avoid regular expresions.
 Is it possible that FILTER_VALIDATE_URL only checks if the string has
 http:// and do not check for the format domain.something?
 
 $url = 'http://wwwtestcom';
 $url = filter_var($url,FILTER_VALIDATE_URL);
 echo $url;
 -

 Or I am doing something wrong

 Thank you

 Unless I'm totally misunderstanding what you want (validate that a
 string starts with http://) try:

 if(strpos($url, 'http://') === 0) {
   //starts with http://
 } esle {
   // does not start with http://
 }

 --
 Thanks!
 -Shawn
 http://www.spidean.com

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php


 Another possible solution could be:

 $ary = explode('://', $url);
 if (1 = count($ary)) {
     echo 'No schema specified!';
 } else {
     // Schema specified.
     // $ary[0] is the protocol
     $allowed = array('http', 'https');
     if (FALSE == in_array($ary[0], $allowed) {
         // Protocol not valid!
         exit(1); // or return FALSE; whatever...
     }
     // $ary[1] is the uri, validate with filter_var().
 }

 Hope this helps.

 May make more sense to use parse_url() than explode.

 --
 Thanks!
 -Shawn
 http://www.spidean.com


 http://php.net/manual/en/function.parse-url.php
 This function is not meant to validate the given URL...

 I would use parse_url() after URL validation.


 Shawn meant to use parse_url() in place of your explode statement.  He didn't
 say to use parse_url() as a method to validate the url.

 He said it would make more sense to do the following.

 Also, use strict type matching if you want to compare against boolean(FALSE)

 $allowed = array('http', 'https');

 $scheme = parse_url($url, PHP_URL_SCHEME);

 if (FALSE === in_array($scheme, $allowed) {
  // Protocol not valid!
  exit(1); // or return FALSE; whatever...
 }

 Seems a little less muddy to me.

 Jim Lucas


Makes sense now.

Thanks guys.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php