Re: [PHP] SQL insert () values (),(),(); how to get auto_increments properly?

2010-02-14 Thread Eric Lee
On Sat, Feb 13, 2010 at 7:41 PM, Jochem Maas joc...@iamjochem.com wrote:

 Op 2/13/10 11:36 AM, Eric Lee schreef:
 
 
  On Sat, Feb 13, 2010 at 6:55 PM, Jochem Maas joc...@iamjochem.com
  mailto:joc...@iamjochem.com wrote:
 
  Op 2/13/10 10:08 AM, Lester Caine schreef:
   Rene Veerman wrote:
   Hi.
  
   I'm looking for the most efficient way to insert several records
 and
   retrieve the auto_increment values for the inserted rows, while
   avoiding crippling concurrency problems caused by multiple php
  threads
   doing this on the same table at potentially the same time.
  
   Any clues are greatly appreciated..
   I'm looking for the most sql server independent way to do this.
  
   Rene
   The 'correct' way of doing this is to use a 'sequence' which is
   something introduced in newer versions of the SQL standard.
   Firebird(Interbase) has had 'generators' since the early days (20+
   years) and these provide a unique number which can then be
  inserted into
   the table.
  
   ADOdb emulates sequences in MySQL by creating a separate table for
 the
   insert value, so you can get the next value and work with it,
 without
   any worries. The only 'problem' is in situations were an insert is
   rolled back, a number is lost, but that is ACTUALLY the correct
  result,
   since there is no way of knowing that a previous insert WILL
  commit when
   several people are adding records in parallel.
 
  this is all true and correct ...
 
  but that doesn't answer the problem. how do you get the IDs of all
  the records
  that we're actually inserted in a multi-insert statement, even if
  you generate the
  IDs beforehand you have to check them to see if any one of the set
  INSERT VALUEs failed.
 
  @Rene:
 
  I don't think there is a really simple way of doing this in a RDBMS
  agnostic
  way, each RDBMS has it's own implementation - although many are
  alike ... and MySQL is
  pretty much the odd one out in that respect.
 
  it might require a reevaluation of the problem, to either determine
  that inserting
  several records at once is not actually important in terms of
  performance (this would depend
  on how critical the speed is to you and exactly how many records
  you're likely to be inserting
  in a given run) and whether you can rework the logic to do away with
  the requirement to
  get at the id's of the newly inserted records ... possibly by
  indentifying a unique
  indentifier in the data that you already have.
 
  one way to get round the issue might be to use a generated GUID and
  have an extra field which
  you populate with that value for all records inserted with a single
  query, as such it could
  function as kind of transaction indentifier which you could use to
  retrieve the newly
  inserted id's with one extra query:
 
 $sql = SELECT id FROM foo WHERE insert_id = '{$insertGUID}';
 
  ... just an idea.
 
  
 
 
 
  Hi
 
  I would like to learn more correct  way from both of you.
  May I ask what is a sequences ?

 it an RDBMS feature that offers a race-condition free method of
 retrieving a new unique identifier for a record you wish to enter,
 the firebird RDBMS that Lester mentions refers to this as 'generators'.

 to learn more I would suggest STW:

http://lmgtfy.com/?q=sql+sequence


 Jochem


Thanks,

Regards,
Eric

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




Re: [PHP] SQL insert () values (),(),(); how to get auto_increments properly?

2010-02-13 Thread Eric Lee
On Sat, Feb 13, 2010 at 2:07 PM, Rene Veerman rene7...@gmail.com wrote:

 Hi.

 I'm looking for the most efficient way to insert several records and
 retrieve the auto_increment values for the inserted rows, while
 avoiding crippling concurrency problems caused by multiple php threads
 doing this on the same table at potentially the same time.

 I'm using mysql atm, so i thought stored procedures!..
 But alas, mysql docs are very basic.

 I got the gist of how to setup a stored proc, but how to retrieve a
 list of auto_increment ids still eludes me; last_insert_id() only
 returns for the last row i believe.
 So building an INSERT (...) VALUES (...),(...) at the php end, is
 probably not the way to go then.

 But the mysql docs don't show how to pass an array to a stored
 procedure, so i can't just have the stored proc loop over an array,
 insert per row, retrieve last_insert_id() into temp table, and return
 the temp table contents for a list of auto_increment ids for inserted
 rows.

 Any clues are greatly appreciated..
 I'm looking for the most sql server independent way to do this.


Rene

 I have not been worked with mysql multi-insert before.
But just did a simple test on my mysql 5.0 copy.

I assume that you are using MyISAM table and will lock its read, writel
when inserting data.

When multi-insert was done, and did a select last_insert_id(). I saw that
only
the first inserted id was returned. Please take a look the following steps:


mysql select * from temp;
Empty set (0.00 sec)

mysql insert into temp (firstname, price) values ('dd', 10), ('cc', 3),
('bb', 99);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql select last_insert_id();
+--+
| last_insert_id() |
+--+
|1 |
+--+
1 row in set (0.00 sec)

mysql insert into temp (firstname, price) values ('dd', 10), ('cc', 3),
('bb', 99);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql select last_insert_id();
+--+
| last_insert_id() |
+--+
|4 |
+--+
1 row in set (0.00 sec)


So, let's say three records was inserted, and the first inserted id was 1.
You get id from 1 to 3.

! This will not work on transaction-based insert !

Just a thought and tested on mysql but not on php.



Regards,
Eric

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




Re: [PHP] SQL insert () values (),(),(); how to get auto_increments properly?

2010-02-13 Thread Eric Lee
On Sat, Feb 13, 2010 at 6:55 PM, Jochem Maas joc...@iamjochem.com wrote:

 Op 2/13/10 10:08 AM, Lester Caine schreef:
  Rene Veerman wrote:
  Hi.
 
  I'm looking for the most efficient way to insert several records and
  retrieve the auto_increment values for the inserted rows, while
  avoiding crippling concurrency problems caused by multiple php threads
  doing this on the same table at potentially the same time.
 
  Any clues are greatly appreciated..
  I'm looking for the most sql server independent way to do this.
 
  Rene
  The 'correct' way of doing this is to use a 'sequence' which is
  something introduced in newer versions of the SQL standard.
  Firebird(Interbase) has had 'generators' since the early days (20+
  years) and these provide a unique number which can then be inserted into
  the table.
 
  ADOdb emulates sequences in MySQL by creating a separate table for the
  insert value, so you can get the next value and work with it, without
  any worries. The only 'problem' is in situations were an insert is
  rolled back, a number is lost, but that is ACTUALLY the correct result,
  since there is no way of knowing that a previous insert WILL commit when
  several people are adding records in parallel.

 this is all true and correct ...

 but that doesn't answer the problem. how do you get the IDs of all the
 records
 that we're actually inserted in a multi-insert statement, even if you
 generate the
 IDs beforehand you have to check them to see if any one of the set INSERT
 VALUEs failed.

 @Rene:

 I don't think there is a really simple way of doing this in a RDBMS
 agnostic
 way, each RDBMS has it's own implementation - although many are alike ...
 and MySQL is
 pretty much the odd one out in that respect.

 it might require a reevaluation of the problem, to either determine that
 inserting
 several records at once is not actually important in terms of performance
 (this would depend
 on how critical the speed is to you and exactly how many records you're
 likely to be inserting
 in a given run) and whether you can rework the logic to do away with the
 requirement to
 get at the id's of the newly inserted records ... possibly by indentifying
 a unique
 indentifier in the data that you already have.

 one way to get round the issue might be to use a generated GUID and have an
 extra field which
 you populate with that value for all records inserted with a single query,
 as such it could
 function as kind of transaction indentifier which you could use to retrieve
 the newly
 inserted id's with one extra query:

$sql = SELECT id FROM foo WHERE insert_id = '{$insertGUID}';

 ... just an idea.

 



Hi

I would like to learn more correct  way from both of you.
May I ask what is a sequences ?


Thanks !


Regards,
Eric

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




Re: [PHP] How to secure this

2010-02-12 Thread Eric Lee
On Sat, Feb 13, 2010 at 7:33 AM, Ryan Sun ryansu...@gmail.com wrote:

 In that case, referer is for authentication, and id is for authorization, I
 think

 On Fri, Feb 12, 2010 at 6:23 PM, Ashley Sheridan
 a...@ashleysheridan.co.ukwrote:

   On Fri, 2010-02-12 at 18:25 -0500, Ryan Sun wrote:
 
  authenticate by remote domain name or remote ip
 
  $_SERVER['HTTP_REFERER']
 
  then your clients will not have to put their username/password in clear
 texthttp://www.mydomain.com?h=300w=250
  and you will just check if you have their domain on your list
 
  I'm not sure if there is better one but
   'HTTP_REFERER'
  The address of the page (if any) which referred the user agent to
  the current page. This is set by the user agent. Not all user agents
  will set this, and some provide the ability to modify HTTP_REFERER as
  a feature. In short, it cannot really be trusted. 
 
 
  On Fri, Feb 12, 2010 at 4:26 PM, Robert Cummings rob...@interjinn.com
 wrote:
   Ashley Sheridan wrote:
  
   On Fri, 2010-02-12 at 16:12 -0500, Robert Cummings wrote:
  
   John Allsopp wrote:
  
   Hi everyone
  
   There may be blinding bits of total ignorance in this so don't
 ignore
   the obvious.
  
   This is a security question, but a sentence of background: I'm
 writing
   software for a mapping/location website and I want to be able to
 provide
   something others can plug into their website that would display
 their map.
  
   So I'm providing a URL like
   http://www.mydomain.com?h=300w=250username=namepassword=password
  
   The idea is they can define their own height and width and it plugs
 in
   as an iframe.
  
   That takes the username and password and throws it over web services
 to
   get back the data from which we can create the map.
  
   My question (and it might be the wrong question) is how can I not
 give
   away the password to all and sundry yet still provide a
 self-contained URL?



How about RESTful like checking ?
It is much like what Rob said already.
but join all params by order and md5 it altogether


Regards,
Eric,


  
   MD5() (or SHA()) hash the information and supply that along with the
   settings. Then you know it was generated by your site. So you can do
 the
   following:
  
   ?php
  
   $height = 300;
   $width = 250;
   $username = 'username';
   $key = md5( SECRET_SALT-$heigh-$width-$username );
  
   $url =
   
 http://www.mydomain.com?h=$heightw=$widthusername=$usernamekey=$key;;
  
   ?
  
   Then when you get this URL via the iframe, you re-compute the
 expected
   key and then compare it against the given key. Since only you know
 the
   SECRET_SALT value then nobody should be able to forge the key.
  
   Cheers,
   Rob.
   --
   http://www.interjinn.com
   Application and Templating Framework for PHP
  
  
  
   What about requiring them to sign in the first time to use your
 service,
   and then give them a unique id which i tied to their details. You
 could
   then get them to pass across this id in the url. You could link their
   account maybe to some sorts of limits with regards to what they can
   access maybe?
  
   Presumably they ARE logged in when you create this URL for them...
 otherwise
   someone else could generate it :)
  
   Cheers,
   Rob.
   --
   http://www.interjinn.com
   Application and Templating Framework for PHP
  
   --
   PHP General Mailing List (http://www.php.net/)
   To unsubscribe, visit: http://www.php.net/unsub.php
  
  
 
 
 
  I think Google does both the referrer check coupled with an id passed in
  the URL. At least, this is what it did the last time I embedded one of
 their
  maps.
 
 
Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 
 



Re: [PHP] syntax error in class

2010-02-10 Thread Eric Lee
2010/2/11 Jim Lucas li...@cmsws.com

 Dasn wrote:

 I got the syntax error. Why?



only constant literal is allowed.
You can think that it is static complie but not on runtime .


Regards,
Eric,




 Read the first paragraph on the following page.

 http://us3.php.net/manual/en/language.oop5.properties.php

 [quote]
 ...  This declaration may include an initialization, but this
 initialization must be a constant value--that is, it must be able to be
 evaluated at compile time and must not depend on run-time information in
 order to be evaluated.
 [/quote]

 Basically, anything that requires the concatenation of string parts or
 usage of variables is not allowed.

 --
 Jim Lucas

   Some men are born to greatness, some achieve greatness,
   and some have greatness thrust upon them.

 Twelfth Night, Act II, Scene V
by William Shakespeare


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




Re: [PHP] stream_select() not working on regular files?

2010-02-03 Thread Eric Lee
On Thu, Feb 4, 2010 at 9:20 AM, Dennis J. denni...@conversis.de wrote:

 On 02/04/2010 02:03 AM, Ashley Sheridan wrote:

 On Thu, 2010-02-04 at 01:41 +0100, Dennis J. wrote:

 Hi,
 I'm trying to implement something similar totail -f  in php but I'm
 running into a problem.
 The issue occurs when I've reached the end of the file. From here I
 basically have to loop until new lines get appended to the file but I
 would
 like to respond immediately when then happens. There are three options
 that
 I can see:

 1. Busy-loop
 pro: I can process new lines immediately
 contra: Excessivley CPU intensive =  not a real option

 2. add a sleep(1) to the loop
 pro: No longer kills the CPU
 contra: I might get a 1 second delay until I can process new lines

 3. stream_select(array($fh),null,null,1)
 pro: sleeps for one second but returns earlier if new data arrives
 contra: doesn't seem to work in files?

 Method 3 is the preferable one but doesn't seem to work:

 $fh = fopen(testfile,r);
 $r = array($fh);
 while( ($n = stream_select($r,$w=null,$e=null,1)) == 1 ) {
  echo fgets($fh);
 }

 This program will loop forever because stream_select() will always return
 1
 even at the end of the file.

 Is there any other way to accomplish this?

 Regards,
Dennis


 I thought that once it reached the end of the file, it will return a 0
 indicating no new activity?


 That's what I thought too but apparently that is not the case.


  Although, surely you want the loop to continue forever, so that new
 entries added to the end of the file are shown as soon as they appear.


 Yes the loop is supposed to continue forever in the final version. In fact
 I what I'm trying to get at is a tail -F which means I will repeatedly
 reopen the file to check if it has been replaced by a new one. I just
 simplified the problem above to get rid of all the additional complexity and
 concentrate on the specific problem I have.

 My expectation was that once the end of the file is reached (i.e. fgets()
 has consumed all lines) stream_select() should wait for 1 second (in the
 above example) and if nothing happens with the file in that second it should
 return 0. But that doesn't happen.



Dennis

I have just been bulit a simple test script.
It works for me with a feof call if the stream was at end of file.
But I'am not sure that is that what you want !

?php

$fp = fopen('test.xml', 'r');
$arr = array($fp);

$w = $e = null;
while (($result = stream_select($arr, $w, $e, 1)) !== false)
{
$line = fgets($fp);
if (!empty($line))
{
echo $line;
}
else
{
if (feof($fp))
echo 'eof',\n;
fclose($fp);
$fp = null;
break;
}
}




Regards,
Eric,




 Regards,
  Dennis

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




Re: [PHP] File Upload

2010-01-30 Thread Eric Lee
On Sat, Jan 30, 2010 at 7:27 PM, Ali Reza Sajedi arsaj...@khanehjou.comwrote:

 Hello,

 When uploading a file the variable $_FILES['userfile']['tmp_name'] is not
 set and when debugging I get the following error although /tmp folder exists
 and the permissions are set to 777:

 $_FILES['userfile']['error'] = 6

 which says

 UPLOAD_ERR_NO_TMP_DIR
 Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP
 5.0.3.

 Has anyone encountered such a problem or has a clue as to what the cause
 could be?


It might be the upload_tmp_dir no pointing to the right dir !
What is the current of it ?



Regards,
Eric,



Thank you.

 Kind regards

 Ali

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




Re: [PHP] Re: how do I use php://memory?

2010-01-29 Thread Eric Lee
On Sat, Jan 30, 2010 at 9:00 AM, Shawn McKenzie nos...@mckenzies.netwrote:

 Mari Masuda wrote:

  Has anyone ever successfully used php://memory before?  If so, what
  can I do to use it in my code?  Thank you.

 No, but I was intrigued to try it, so I tested this:

 $text = 'Some text.';
 file_put_contents('php://memory', $text);
 echo file_get_contents('php://memory');

 And it returned nothing.  The docs suck on this and it apparently
 doesn't work.  I see others use it with fopen(), but there is no mention
 of which file functions it works with and which it doesn't.



Shawn

I did a sample test from the manual with fopen like this,


?php

$fp = fopen('php://memory', 'r+');

if ($fp)
{
fputs($fp, line 1\n);
}

rewind($fp);
echo stream_get_contents($fp);

?

console output

F:\wc\trunkphp -f m.php
line 1



Regards,
Eric,

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

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




[PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Eric Lee
Hi php-dev pros,

I got an issue about catching exception throw from __autoload on php 5.3.1.

The manual state that exception throw from __autoload could be catched with
try.. catch statement same as the normal flow.

But I'can archive that even I have copied the same sample code from the
manual.

Here are the code segment.

[[[
function __autoload($name) {
echo Want to load $name.\n;
throw new Exception(Unable to load $name.);
}

try {
$obj = new NonLoadableClass();
} catch (Exception $e) {
echo $e-getMessage(), \n;
}

]]]

Are there anyone experienced this or not ?

Thanks in advance !

Regards,
Eric,


Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Eric Lee
On Fri, Jan 29, 2010 at 1:19 PM, Ashley Sheridan
a...@ashleysheridan.co.ukwrote:

  On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:

 Hi php-dev pros,

 I got an issue about catching exception throw from __autoload on php 5.3.1.

 The manual state that exception throw from __autoload could be catched with
 try.. catch statement same as the normal flow.

 But I'can archive that even I have copied the same sample code from the
 manual.

 Here are the code segment.

 [[[
 function __autoload($name) {
 echo Want to load $name.\n;
 throw new Exception(Unable to load $name.);
 }

 try {
 $obj = new NonLoadableClass();
 } catch (Exception $e) {
 echo $e-getMessage(), \n;
 }

 ]]]

 Are there anyone experienced this or not ?

 Thanks in advance !

 Regards,
 Eric,


 Sorry, ignore that, I see you're running 5.3.1, which should be fine for
 running the example. I do notice that you've got [[[ and ]]] in-place of
 ?php and ?, was that intentional?


Sorry for that !   I'am too lazy !!
And that's just for easy looking the code.

I actually use this,

?php

function __autoload($name) {
echo Want to load $name.\n;
throw new Exception(Unable to load $name.);
}

try {
$obj = new NonLoadableClass();
} catch (Exception $e) {
echo $e-getMessage(), \n;
}



?


Regards,
Eric,



   Thanks,
 Ash
 http://www.ashleysheridan.co.uk





Re: [PHP] exception throw from __autoload could not be catched on php 5.3.1

2010-01-28 Thread Eric Lee
Hi all and thanks for Ryan,


I apologize ! !
I have missed out the small class_exists call before it.


Thanks.


Regards,
Eric,

2010/1/29 Ryan ryansu...@gmail.com

 于 2010-1-29 13:19, Ashley Sheridan 写道:
  On Fri, 2010-01-29 at 13:02 +0800, Eric Lee wrote:
 
 
  Hi php-dev pros,
 
  I got an issue about catching exception throw from __autoload on php
 5.3.1.
 
  The manual state that exception throw from __autoload could be catched
 with
  try.. catch statement same as the normal flow.
 
  But I'can archive that even I have copied the same sample code from the
  manual.
 
  Here are the code segment.
 
  [[[
  function __autoload($name) {
  echo Want to load $name.\n;
  throw new Exception(Unable to load $name.);
  }
 
  try {
  $obj = new NonLoadableClass();
  } catch (Exception $e) {
  echo $e-getMessage(), \n;
  }
 
  ]]]
 
  Are there anyone experienced this or not ?
 
  Thanks in advance !
 
  Regards,
  Eric,
 
 
  Sorry, ignore that, I see you're running 5.3.1, which should be fine for
  running the example. I do notice that you've got [[[ and ]]] in-place of
  ?php and ?, was that intentional?
 
  Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 
 
 
 Do you have any other autoload implamentaions? try testing that code
 segment in a single php file and dump phpinfo() to make sure you are on
 php 5.3.1



Re: [PHP] Pointers For Newbies, Reminders For Oldies

2010-01-27 Thread Eric Lee
On Wed, Jan 27, 2010 at 11:44 PM, Ashley Sheridan
a...@ashleysheridan.co.ukwrote:

 On Wed, 2010-01-27 at 10:42 -0500, Paul M Foster wrote:

  ... should be obvious - but are often overlooked - points within coding
  practice that can cause the programmer to develop bad habits and bad
  code. - Dan Brown
 
  Tip #1:
 
  Don't use count() in loops unless there are very few items to count and
  performance doesn't matter, or the number will vary over the loop. That
  is, don't do this:
 
  for ($i = 0; $i  count($items); $i++)
 
  Instead, do this:
 
  $number = count($items);
  for ($i = 0; $i  $number; $i++)
 
  Reason: when you use the count() call at the top of the loop, it will
  re-evaluate the number of items each time it's called, which usually
  isn't necessary and adds time. Instead, work out the number of items
  before going into the loop and simply refer to that for the number of
  items in controlling the loop.
 
  Paul
 
  --
  Paul M. Foster
 


 What about using the right type of quotation marks for output:

 I use double quotes() if I expect to output variables within the
 string, and single quotes when it's just a simple string.

 It's only a general rule of thumb and shouldn't be adhered to
 absolutely, but I remember a thread a while back that showed the speed
 differences between the two because of the extra parsing PHP does on
 double quoted strings.


That should be on the stackoverflow.com
It compare the string parsing with or without variables embeded
and the important of comma operator when ` echo ` data

use
echo 'something', 'other'

but not
echo 'something' . 'other'


Eric,


 Thanks,
 Ash
 http://www.ashleysheridan.co.uk





Re: [PHP] Speed of sending email .. can I put them in a queue rather than wait?

2010-01-26 Thread Eric Lee
On Tue, Jan 26, 2010 at 12:02 PM, Angus Mann angusm...@pobox.com wrote:

 Hi all.

 I'm currently using the phpmailer class from phpmailer.worxware.com to
 send datatbase -populated emails to clients.

 At the moment I'm runninng PHP on Windows and using the built-in sendmail
 equivalent packaged with XAMPP. It uses a remote SMTP that authenticates by
 prior logging into a POP account.

 The number of emails sent is very small. Each one is only sent after a user
 fills out a form and presses send.

 But there is a noticable lag of about 5 or sometimes 10 seconds after
 pressing send before the user sees the Mail sent page. I presume the
 reason for the lag is the time spent logging on and off a remote POP, then
 SMTP server, transferring the data etc.

 It would be better if this happened in the background - that is, the user
 could get on with doing his next task while the emails sat in a queue in the
 backgorund, being lined up and sent without PHP waiting for the process to
 finish.

 Can anybody recommend a good way of doing this? Is Mercury Mail going to
 help me here?


HI Angus,

+1 I agree on what Paul already said .
As in fact you were just to sent out low volume mails.
Create a table and queue all pending mails in that then use windows
scheduled tasks to perform the actual work
if that is not a real-time mail.


One thing to note, php on windows does't support specify username and
password.
But only hostname / IP Address and port only.


I can not help much
but just few more suggesions.

Hope these help

Eric,
Regards,


Re: [PHP] Speed of sending email .. can I put them in a queue rather than wait?

2010-01-26 Thread Eric Lee
Hi, all

I'am doubted about installing a local mail server for just low volume
mailing.
May I ask all yours professional what do you think about it ?


Thanks in advanced.



Regards,
Eric,




 --
 Jim Lucas
 NOC Manager
 541-323-9113
 BendTel, Inc.
 http://www.bendtel.com

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




Re: [PHP] Magic Methods not working

2010-01-26 Thread Eric Lee
On Wed, Jan 27, 2010 at 11:04 AM, Paul M Foster pa...@quillandmouse.comwrote:

 I have a class which instantiates other classes, and has a magic method
 like this:

 function _get($classname)
 {
return $this-instantiate($classname);
 }

 Obviously, the class also has an instantiate method which does what it
 says.

 Here's the problem: When I call the instantiate method, it works fine,
 like this:

 $db = $sc-instantiate('database');

 But when I do the following, it *doesn't* work:

 $db = $sc-database;

 In fact it does not call the instantiate() method; I've placed a print
 statement in the instantiate() method which fires at then end of the
 routine. That statement doesn't fire with the above code.

 The docs on magic methods are pretty slim, so I'm not sure what it is
 I'm missing. Can someone enlighten me?

 Paul


Paul,

I seem that you should missed the required underscore  _  
It should the __get() but not _get().
Shall this help ?

And here is a quick test !!

[ [ [
class test
{
public $varname = 1000;

public function __get($name)
{
return $this-init($name);
}

public function init($name)
{
return new test();
}
}

$t = new test();
$db = $t-database;
if (is_object($db))
{
echo $db-varname;
}

] ] ]


Regards,
Eric,


--
 Paul M. Foster

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




Re: [PHP] Reliable way to identify Ogg types?

2010-01-26 Thread Eric Lee
Hi Micheal,

One of way for this should be by checking the header of the file with its
OggS magic number.
You may take a look at this page to see if it could help !

http://en.wikipedia.org/wiki/Ogg


But I'am confused that the mime type should be enough what type of data its
coming !
Are there are any more  things you need to concern ?


Thanks,


Regards,
Eric,


On Wed, Jan 27, 2010 at 11:23 AM, Michael A. Peters mpet...@mac.com wrote:

 When I use fileinfo on an uploaded Ogg file, the mime it returns is
 Application/Ogg which is almost useless.

 Is there a reliable php way, preferably without needing to execute shell
 commands, to positively identify a file as Ogg Theora or Ogg Vorbis?

 Thanks for suggestions.

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




Re: [PHP] Upload file on IE8

2010-01-25 Thread Eric Lee
On Tue, Jan 26, 2010 at 6:41 AM, Ernie Kemp ernie.k...@sympatico.ca wrote:

   Good Day,



 I’m having an issue with IE8, when I go to load a file the
 program is not filling the $_FILES['user_file']['type']  .

   When I display  “echo  Start.$_FILES['pix']['type'].End;”  
 in IE8 I get “StartEnd” with nothing in between.  I expected “image/pjpeg.



 On FireFox I get “image/jpeg.



 Any suggestions?

 Thanks,

 /Ernie



  I remember a setting from some elsewhere IE 8 was disable set file path
 location
 by default from the options dialog. Did you enabled this already ? If not,
 you may give it a shoot to see than !


 Hope this help


 Eric,
 Regards,









Re: [PHP] Foreign Characters Break in MySQL

2010-01-21 Thread Eric Lee
Hi, all,

I'am not able test it out now.
Did you tried to change the collation to utf8_bin from utf8_general_ci ?


Eric,
Regards,


On 1/22/10, Ryan Park ryanhp...@live.com wrote:

 Forgot to reply all.

 You can see that it's in the middle of the sql statement.
 It looks fine here but some how it breaks during the query.

 ?php
 mysql_connect(localhost, adminID, password) or die(mysql_error());
 echo Connected to MySQLbr /;

 mysql_select_db(databasename) or die(mysql_error());
 echo Connected to Databasebr /;

 $sql = INSERT INTO xe_modules (module_srl, module, module_category_srl,
 layout_srl, menu_srl, site_srl, mid, skin, browser_title, description,
 is_default, content, open_rss, header_text, footer_text, regdate) VALUES
 ('135', 'bodex', '0', '53', '0', '0', 'free', 'xe_default', '자유게시판 ', '',
 'N', '', 'Y', '', '', UNIX_TIMESTAMP());;

 mysql_query($sql) or die(mysql_error());

 mysql_close();
 ?

 On 1/21/2010 5:19 PM, Jim Lucas wrote:

 Ryan Park wrote:


 Hello I'm currently trying to use PHP to insert foreign characters into
 one of the mysql database tables.mysql_query() worked seamlessly, but when I
 check the inserted data on phpMyAdmin it shows the foreign characters in
 broken letters, like this ì‹œíŒ- jibberish...The foreign characters show
 fine when I'm typing it out on my editor to code PHP, but it gets broken
 into unrecognizable symbols when put into mysql database columns.
 I tried to create the same thing this time through phpMyAdmin console and
 it worked great, the foreign characters showed correctly as they should.The
 column that I'm trying to put the foreign characters into is set as
 utf8_general_ci.I wish to use PHP to insert the data into the database
 because I'll be inserting massive amounts of them at once, so I just can't
 continue with this problem at hand.
 I'll greatly appreciate any help, thank you.

 _
 Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
 http://clk.atdmt.com/GBL/go/196390709/direct/01/


 How about showing a little of the insert code.  ie: how you are gathering
 the
 data, how you are preping the data, and the actual insert statement.




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




Re: [PHP] SMTP Local development to Send email in PHP; Windows Platform/ XP with no IIS

2010-01-16 Thread Eric Lee
Hi,

As I know that php did't setting user name and password.
So, just install any smtp server with authenticaton set to no
authentication
Much list IIS smtp server.



Eric,
Regards,


On 1/16/10, Andy Shellam andy-li...@networkmail.eu wrote:

 Hi,

 
  Also http://www.softstack.com/freesmtp.html which vikash mentioned works
  through outlook settings.
 
  Anyways the below will help-
 
  http://php.net/manual/en/ref.mail.php
 
  http://glob.com.au/sendmail/


 Personally, I always found hMailServer to be perfectly reliable as a relay
 on Windows - just install it and SMTP to localhost - nothing more, nothing
 less.

 Andy


Re: [PHP] not able to use mysql server

2009-12-30 Thread Eric Lee
On 12/30/09, Jignesh Thummar jignesh.thum...@gmail.com wrote:

 It is problem with mysql client, it's not able to connect with mysql
 server.
 Either mysql server is not running or windows firewall is blocking to the
 access of port 3306. Try to disable firewall.

 -Jignesh

 On Wed, Dec 30, 2009 at 11:41 AM, Sudhakar sudhakarar...@gmail.com
 wrote:

  hi
 
  i am using windows vista and installed wamp server, initially i installed
  wamp and accessed phpmyadmin and while setting a password for the root i
  did
  a mistake and could not access phpmyadmin and also renamed some php files
  so
  i uninstalled wamp server and re installed
 
  now the problem i am facing is when i click on mysql.exe located at
  D:\wamp\bin\mysql\mysql5.1.36\bin i am getting the following error
  error 2003 cant connect to Mysql server on localhost 10061
 
  in config.inc.php located at d:\wamp\apps\phpmyadmin3.2.0.1 i have the
  following
  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['port'] = '3306';
  $cfg['Servers'][$i]['auth_type'] = 'config';
  $cfg['Servers'][$i]['user'] = 'root';
  $cfg['Servers'][$i]['password'] = 'root';
  $cfg['Servers'][$i]['AllowNoPassword'] = true;
 
  along with others.
 
  when i type http://localhost i am able to see the welcome screen of wamp
  and
  can click on phpinfo but when i click on phpmyadmin it takes a while to
  load
  and a blank screen appears
 
  also i have stopped all services and restarted all services from the
  wampserver icon in the system tray, normally the colors change from red
 to
  yellow to white, the color is at yellow and does not change to white
 
  how do i solve the error error 2003 cant connect to Mysql server on
  localhost 10061 so that i can use phpmyadmin
 
  please advice.
 
  thanks.
 


Are there any error entries of mysql server on the event viewer ?
Also, what is the starting state of mysql server on the services console ?
You can found all tool on administrative folder on the start menu.


Re: [PHP] MySQL Increment/Decrement

2009-12-28 Thread Eric Lee
Ben

It seems that you can just update the column with a update query like this,

update table set field = field + 1 where some condition

This might be the thing you need.


Eric



On 12/29/09, Ben Miller b...@tottd.com wrote:

 I hope this isn't a bone-head question - Is there a MySQL query that will
 increment/decrement the value in an integer column with a single query - in
 other words, I don't have to run a SELECT query to get the value,
 add/subtract to/from the value, and then run an UPDATE query to store the
 new value?



 Thanks in advance.



 Ben