[PHP] Download textfile
When I link a textfile, the textfile is opened in the browser. I want the SaveAs box to be shown. Is this possible and if so how to do that? TIA -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
[PHP] RE: [PHP-DB] 5928 Would you like to lose weight while you sleep? 537417
any chance to bounce this guy from the list? Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
RE: [PHP] Can I use Microsoft Access as a database?
First you have to define a *system* data source (DSN) with the ODBC control panel applet - e.h. with the name "accessdb". Be sure, that *other* applications are able to use this data source as well, before you try to access via PHP (e.g. with Excel, which comes with a data query tool to import data from ODBC data sources or MSQUERY). Then you open the connection as follows, *without* user or pw: The error "Data source name not found and not default..." means, that the name of the given data source was not found in the system DSNs. It has to be a system DSN, because PHP runs within another user context (e.h. IUSR_... if you use PHP and IIS or the System Account, if you use PHP and Apache), which does not have the *user* DSNs, which you as a user defined for yourself. Hope this helps, Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
RE: [PHP] [News] Affordable Independent Web Developer - Search Engine Optimization Services - March 19th, 2009
Sounds like a good deal - clean your home and develop your home page all-in-one. A sailor friend once told me about all-in-one services he got when he stopped for shore leave in Bangkok - also sounded like a good deal, though I don't think it included web development. Experienced sailors pre-booked appointments with the ship's medic before going ashore so they could be seen first when they got back. I wonder if there's something similar with Samantha? Might be a good business: "Web Medics. Pre-book an appointment with us before jumping into your web project - we'll fix it afterwards". -Original Message- From: George Larson [mailto:george.g.lar...@gmail.com] Sent: 20 March 2009 05:01 PM To: Jochem Maas Cc: Ginkga Studio LLC; Php-general Subject: Re: [PHP] [News] Affordable Independent Web Developer - Search Engine Optimization Services - March 19th, 2009 Not only that but, judging from the phone number, Samantha cleans also cleans houses: http://betterthancleanmaidandmaintenanceservices.com/choose-us/contact-us-ma inmenu-3/12-contacts/1-name.html On Fri, Mar 20, 2009 at 10:57 AM, Jochem Maas wrote: > Ginkga Studio LLC schreef: > > Today's Date: March 19th, 2009 > > > > Hello, > > I'm a real person sending you this email - this is an initial > > contact opt-in request for permission to contact you for web > > development services. > > > > WHO I AM AND MY INTENTIONS: > > I'm an affordable, independent web developer, been in business for > > about 5 years. Interested in building a new website for you or help > > you on your current site. > > you realise you just posted to a list of web developers, right? > > > -- > PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: > http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Frameworks / obstinate?
-Original Message- From: Sancar Saran [mailto:sancar.sa...@evodot.com] Sent: 23 March 2009 11:52 AM To: php-general@lists.php.net Subject: Re: [PHP] Frameworks / obstinate? Probably a bit off topic and The Game is over man. Javascript coming with flank speed. Next generation JS Framworks will take html generation jobs from server side. Whole thing of Server Side MVC and other yada yada was became joke. Those server siders become JSON pushers for JS frameworks. Astrosurfing ? Yeah, just compare PHP mailing list vs Jquery Mailing list activity. And The New Game just begun... Regards Sancar -- You seem to suggest the more you do on client side the less you do on the server. Not sure where you get that from. I'm inclined to think the opposite - the more you do on the client the more you'll need to do on the server. Sure there will be certain types of client apps that will all but eliminate the need for server-side processing, but it's likely more power on the client will mean internet apps are going to be more powerful all round, both client and server side. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] WHILE LOOP PROBLEM
-Original Message- From: Andrew Williams [mailto:andrew4willi...@gmail.com] Sent: 27 March 2009 10:12 AM To: PHP LIST Subject: [PHP] WHILE LOOP PROBLEM can some tell why the below loop stop running after some time. $start=10; const run=0; while($start >run){ //do somthing } -- The webserver or php environment is probably terminating the script. It will only run for the max number of seconds set in your php.ini file. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] php applications
At 11:49 AM -0400 6/8/09, Daniel Brown wrote: >On Mon, Jun 8, 2009 at 11:48, tedd wrote: >> Hi gang: >> >> I've heard that php can be used for more than web programming, but I >> am not aware of specifically how that can be done. So, let me ask >> directly -- can php be used to create a Mac Application? >> >> If so, how? > > Probably the most well-known method is php-gtk: > > http://gtk.php.net/ I must be getting too old for this stuff. I'm used to an IDE where you write code, run, and debug it. When you get it where you want and want to create an application, then you compile the code and there's an application -- a stand alone application -- done! But I don't see anything like that there. In fact, if you review their applications link, you'll see that they don't have any applications either. It's all "There's not any applications in this category ... Maybe you would like to add one?" Well... a "Hello world" would be nice. I downloaded and installed the MacPorts too, but that leaves me wanting for a simple Hello World example as well, but nothing there either. In both cases they are very verbose about command line stuff, but short on how to use php to create an application. I just don't see it. Maybe my terminology is not correct. My applications stand by themselves and run when clicked -- no command line is needed. To me it looks like another one of those other things that everyone says is great, but I sit here saying "Hey, I don't know about you guys, but the Emperor's naked." Cheers, tedd -- Nusphere has something called PhpDock, but it's for Windows desktop only. I use their excellent PhpED IDE and have seen references in PhpED for PhpDock development, exactly as you describe (code-debug-test-encode-deploy all in PhpED - a well-dressed Emperor). Looking at how they do it I'm not too sure why PhpDock is Windows-only. From the Nusphere forum I've seen that Mac users use PhpED fine in wine or vmware, but I don't know if that also works for PhpDock runtime. I haven't tried any PhpDock development. http://www.nusphere.com/products/phpdock.htm Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] sessions tutorial
-Original Message- From: PJ [mailto:af.gour...@videotron.ca] Sent: 18 June 2009 11:28 PM To: php-general@lists.php.net Subject: [PHP] sessions tutorial Top of the list is for real dummies at tizag.com. So I don't have to search 282,000 entries for php sessions tutorial (doesn't this say something about the stupidity on the internet - just how many of those entries could possibly be real and worth looking at? Since you "gurus" (I kowtow) have been there, done that, I would appreciate hearing of a tutorial that will give something more than "you can use sessions in to store information"; like what kind of information, just how is it used e.g. whatis this, where did it come from, what does it mean? -- if (isset($_REQUEST["ReturnToBooksList"])) and if (!isset($_SESSION["addNewBooks"])) - in these examples it come from inputs. They were not specifically declared or is this a declaration by itself... how can I find this information so I can understand how to use it? I really don't want to bother you guys but do you see the futility here? My little programs are advancing little by little, but boy is it a struggle to get any information. I eventually dig it out but, frankly, it might be more productive digging salt mines in the Urals. :-( PJ "the bitcher" -- Hervé Kempf: "Pour sauver la planète, sortez du capitalisme." - Phil Jourdan --- p...@ptahhotep.com http://www.ptahhotep.com http://www.chiccantine.com/andypantry.php -- "Pour sauver la planète, sortez du capitalisme." - pinko liberal ;) I'm sure someone else has already proposed this, but... Get an entry-level book on php, it will answer all your current and future questions about arrays, forms, sessions, etc. Alternatively look at VTC or Lynda.com for their excellent video tutorials. I'm sure many of the "gurus" you refer to on this list started their path to gurudom by going through one or both these routes. Definitely easier than digging salt mines, and has the added advantage of enlightening you to new possibilities you hadn't thought of before. I've done both (but I'm no guru) and I can definitely recommend both, especially having a book around for a reference when you want to quickly check something - easier than trying to find the reference in a video. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP doesn't see php.ini
-Original Message- From: Bastien Koert [mailto:phps...@gmail.com] Sent: 25 June 2009 03:11 PM To: Tir Cc: php-general@lists.php.net Subject: Re: [PHP] PHP doesn't see php.ini On Wed, Jun 24, 2009 at 8:32 AM, Tir wrote: > When i installed PHP, I had written to my httpd.conf PHPIniDir > "c:/php". But > phpinfo() returns "C:\WINDOWS" in "Configuration File (php.ini) Path" > row and right path to my php.ini in "Loaded Configuration File". It > looks like php.ini really isn't used. I think so because when i try to > enable MySQL extension it doesn't work ("extension=php_mysql.dll", > "extension=php_mysqli.dll" and "extension=php_pdo_mysql.dll" is > uncommented, "extension_dir" is correct, libmysql.dll is copied to C:\WINDOWS\system32). > I've tried to write to php.ini an abracadabra. But I haven't received > an error as i expected. I've tried to rename php.ini. phpinfo() has > returned "(none)" in "Loaded Configuration File" row instead of > "c:\php\php.ini" as that was before. But PHP still worked. It worked > without php.ini. It seems very strange. I've searched another php.ini > on my system. There is no another one. What's wrong? Why doesn't PHP use php.ini file? > -- Did you use an installer or have another version of php installed at some point? Bastien Cat, the other other white meat -- On my Windows I see the same thing - "Configuration File (php.ini) Path" points to C:\WINDOWS (even though there is no php.ini there) and "Loaded Configuration File" points to the dir where the php.ini actuall is. My setup (PHP 5.2.6) works fine. Presume you did restart apache after making the change? It looks like your php is using your php.ini since phpinfo reports (none) when you rename it. Is there anything in your phpinfo output that relates to your php.ini? Maybe some error near the beginning of php.ini causes php to stop loading the ini file? Check that the "extension_dir" in phpinfo agrees with the "extension_dir" in your php.ini. Maybe try enabling error logging in the php.ini and check the log file - I use apache\logs\phperror.log and invalid extension loading is definitely reported there (I've had this problem before). In php.ini set "log_errors=On" and set "error_log=c:\apache\logs\phperror.log" (or wherever your apache is installed). Restart apache and check the phperror.log file. If you find nothing then create a dummy entry to force an error, something like "extension=php_dummy.dll" to check that the error logging is working. If your logging is working and there is no error reported for loading the mysql extension, and you still see no entry for mysql in phpinfo output, then you have a different problem, maybe a mysql installation problem. HTH Arno "Cat, the other other white meat" - looks like the economic downturn hit really hard... Does it go with "Weed, the other green tea"? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP doesn't see php.ini
-Original Message- From: Tir [mailto:tirsa...@yandex.ru] Sent: 25 June 2009 08:48 PM To: php-general@lists.php.net Subject: Re: [PHP] PHP doesn't see php.ini > Presume you did restart apache after making the change? Of course > Is there anything in your phpinfo output that relates to your php.ini? I think there must be a mention of MySQL because i've enabled it. But it isn't there. > Maybe some error near the beginning of php.ini causes php to stop > loading the ini file? I use a copy of php.ini-recommended from PHP distributive. I don't think that there could be errors. I've only uncommented few strings to enable MySQL extensions, set display_errors on and changed extension_dir. > Check that the "extension_dir" in phpinfo agrees with the "extension_dir" > in your php.ini. It agrees. > Maybe try enabling error logging in the php.ini and check the log file > - I use apache\logs\phperror.log and invalid extension loading is > definitely reported there (I've had this problem before). That's it, i think. I've enabled display_startup_errors and now on start apache i receive errors. PHP can't find libraries of MySQL extensions. But this libraries exactly exist in folder that indicated in error messages. What that could be? -- Does mysql run from the command line? You can also download MySQL Administrator from mysql.com and see if it can connect to mysql. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] This Friday's OT Thread
-Original Message- From: Michelle Konzack [mailto:linux4miche...@tamay-dogan.net] Sent: 26 June 2009 03:20 PM To: php-general@lists.php.net Subject: Re: [PHP] This Friday's OT Thread ...and no one care about the foreign (european) sniper WHO killed Neda in Iran. Note: I can not reach my Company Website in Tehran nor can I reach my Office over fixed telephone lines. I can not even contact one of my 57 employees privately. No one has tried to access my courier-imap or my webmail server in Germany... F..king world... and now Jackson? WHO IS HE? -- You've been living in a missile launcher for too long -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Obeying the rules (was Simple login form with cookies)
I'm sure those who've been on this list a while muttered "here we go again..." when this thread started. Personally I think if there was a poll about this the bell curve would have some on the left demanding we all top post, many on the right of the curve demanding we all bottom post, and a solid bulge in the middle representing the great unwashed "couldn't give a damn" folks (and probably "couldn't give a damn" to enter the debate). On the very few occasions I've had anything to contribute I've generally bottom posted, mostly because I've seen this debate before and partly because I think it's easier for some people, but I'd place myself in the middle of the bell curve. I think most people on this list are more than smart enough to quickly figure out the thread in a post regardless whether the previous person top posted or not. Most of the regular responders bottom post which makes up the bulk, but I think if you look at the variety of people who post it's about 50/50, and most times it doesn't cause any problem at all. I agree that rules are important, but some are more important than others, and I think the top-posting rule is pretty low in the list of priorities, more a useful guide than a rule. Things like personal attacks and attempted mail spoofing are more important - both happened during the course of this thread but hardly raised an eyebrow. I also agree that context plays a big part, because once a thread starts getting complicated with many responses then bottom posting definitely makes it easier to follow, but most threads don't get to that stage. Just my 2c. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: unsetting a referenced parameter in a function
-Original Message- From: Shawn McKenzie [mailto:nos...@mckenzies.net] Sent: 23 July 2009 02:36 PM To: php-general@lists.php.net Subject: Re: [PHP] Re: unsetting a referenced parameter in a function Tom Worster wrote: > On 7/22/09 6:09 PM, "Shawn McKenzie" wrote: > >> Tom Worster wrote: >>> though the manual is perfectly clear that this should be expected, i >>> was a bit surprised that the result of the following is 42 >>> >>> >> function foo(&$a) { >>> $a = 42; >>> unset($a); >>> $a = 'meaning'; >>> } >>> foo($a); >>> print("$a\n"); >>> ?> >>> >>> normally i would expect unset() to free some memory. but in this >>> example it doesn't and has a different behavior: it releases foo's >>> reference to the global $a, allowing the next line to define a local $a. >>> >>> i think i'd have preferred compile error. >>> >>> >> Well, you unset the reference and then you assigned 'meaning' to a >> local function variable $a. Why would you get a compile error? > > when you state it in those terms (which are clearly correct) i wouldn't. > > but if the way i think is "unset() destroys the specified variables" > (as the manual puts it) then i expect that the specified variable > would be destroyed, not the reference. > > so, as i said, i was a bit surprised when the variable wasn't destroyed. > once i understood what was happening, i thought it a bit confusing to > have such scope-dependent differences in behavior of a language element. > > It might be easier to understand if you don't use the same var names: function foo(&$arg) { $arg = 42; unset($arg); $arg = 'meaning'; } $a = 0; foo($a); print("$a\n"); -Shawn -- Another way to see it (from Shawn's example): the "&" is an "address of" (reference to) a variable, so function foo(&$arg) creates a local variable $arg pointing to a global variable called $a. Changing the value of local $arg updates the global $a. The unset($arg) removes the local $arg but has no effect on global $a. The next line $arg = 'meaning' creates a new local variable called $arg which has no connection whatsoever with the $arg that was unset - it could just as well have been called $xyz. As Shawn pointed out there's no problem here with scope, you were just confusing yourself by using the same variable name in the function, but it's a separate local variable regardless of what name you give it. A slight variation of your example: You get exactly the same result as your example, for the same reason, the only difference is that you obviously can't change the local variable name in the function. A final variation (to drive the point home): function foo(&$arg) { global $a; $a = 42;<== at this point $arg = 42 unset($a); $a = 'meaning'; <== $arg is still 42 $a = &$arg; <== $a now points to same address $arg is pointing to $a = 'of life'; <== $arg now = 'of life' } $a = 0; foo($a); print("$a\n"); <== prints 'of life' Here in function foo() local $arg and local $a are both pointing to the global $a, and changing either of them changes the other (and changes the global variable). After unset($a) only local $arg is pointing to global $a. After $a = &$arg both local variables are again pointing to global $a, and local $a value has therefor obviously changed from 'meaning' to 42. Then after $a = 'of life' both local variables and the global $a is changed to 'of life'. Local $a and global $a have the same names but are different variables. Also, the local $a after unset($a) happens to have the same name as the $a before unset($a) but it's a different variable, it could just as easily been called $b after unset($a). A final point: the "global $a;" in the function doesn't mean it's THE global $a, it just means it's a local variable called $a pointing to (referencing) a global variable with the same name. In PHP it has to be the same name because that's the way the "global" statement works, but it can sometimes create the impression that it's the same variable. Hope I haven't made that as clear as mud. Cheers Arno -- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] DB Question | A hotel reservation scenario
-Original Message- From: Behzad [mailto:behzad.esl...@gmail.com] Sent: 18 August 2009 04:46 PM To: PHP General Mailing List Subject: [PHP] DB Question | A hotel reservation scenario Dear list, e-Greetings! I'm faced with an interesting and challenging problem. Consider a database, designed for a hotel. At any given time, each room has a different status: It's Busy or Reserved, or Free. It's easy to retrieve number of Free rooms at the current time. But how can I count the number of rooms that were busy during the last week ? I would appreciate if you take a brief moment of your time and share your opinion. Thank you in advance, -b - You get that information from the history table. I presume there is some sort of a history table? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] How to make sure that the target file to read is not under writing by others?
-Original Message- From: Dengxule [mailto:dengx...@gmail.com] Sent: 19 August 2009 09:56 AM To: Php Maillist Subject: [PHP] How to make sure that the target file to read is not under writing by others? Hi everyone: I have a crontab command to execuate my php-script every half an hour. The mission of the php-script is to open a file(log file), examine it. The target file(log file) is transported to local every half an hour. I've no idea how much time it will costs and on the other hand, i want to make sure the file i'm openning is Completely Written. Any instruction will be grateful. PS: I've made a test. My php-script just "fopen" a local file being transported in, and the "fopen" returns no FALSE value but a resource. Dengxule 2009/08/19 Check the timestamp of the log file. Alternatively you can have a log control file that is updated by the program transferring the log file only when the transfer is completed, and work on that. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] How to make sure that the target file to read is not under writing by others?
-Original Message- From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 19 August 2009 11:57 AM To: a...@dotcontent.net Cc: 'Dengxule'; 'Php Maillist' Subject: RE: [PHP] How to make sure that the target file to read is not under writing by others? On Wed, 2009-08-19 at 11:55 +0200, Arno Kuhl wrote: > -Original Message- > From: Dengxule [mailto:dengx...@gmail.com] > Sent: 19 August 2009 09:56 AM > To: Php Maillist > Subject: [PHP] How to make sure that the target file to read is not > under writing by others? > > Hi everyone: > > I have a crontab command to execuate my php-script every half an hour. > > The mission of the php-script is to open a file(log file), examine it. > > The target file(log file) is transported to local every half an hour. > > I've no idea how much time it will costs and on the other hand, i want > to make sure the file i'm openning is Completely Written. > > Any instruction will be grateful. > > > PS: I've made a test. My php-script just "fopen" a local file being > transported in, and the "fopen" returns no FALSE value but a resource. > > > Dengxule > 2009/08/19 > > > Check the timestamp of the log file. Alternatively you can have a log > control file that is updated by the program transferring the log file > only when the transfer is completed, and work on that. > > Cheers > Arno > > The log control file wouldn't work, as how would you know when to open the control file?! Thanks, Ash http://www.ashleysheridan.co.uk -- You can open the control file any time you want. The info in the control file tells you whether to proceed. The transfer program adds the entry when the log has been transferred, the processing script updates the entry to indicate it's been processed. You can either add a new entry each time (useful for monitoring to fine-tune the timing, or for keeping a history) or work on a single entry that's overwritten each time the log is transferred. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] How to make sure that the target file to read is not under writing by others?
-Original Message- From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 19 August 2009 01:00 PM To: a...@dotcontent.net Cc: 'Dengxule'; 'Php Maillist' Subject: RE: [PHP] How to make sure that the target file to read is not under writing by others? On Wed, 2009-08-19 at 12:56 +0200, Arno Kuhl wrote: > -Original Message- > From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] > Sent: 19 August 2009 11:57 AM > To: a...@dotcontent.net > Cc: 'Dengxule'; 'Php Maillist' > Subject: RE: [PHP] How to make sure that the target file to read is > not under writing by others? > > On Wed, 2009-08-19 at 11:55 +0200, Arno Kuhl wrote: > > -Original Message- > > From: Dengxule [mailto:dengx...@gmail.com] > > Sent: 19 August 2009 09:56 AM > > To: Php Maillist > > Subject: [PHP] How to make sure that the target file to read is not > > under writing by others? > > > > Hi everyone: > > > > I have a crontab command to execuate my php-script every half an hour. > > > > The mission of the php-script is to open a file(log file), examine it. > > > > The target file(log file) is transported to local every half an hour. > > > > I've no idea how much time it will costs and on the other hand, i > > want to make sure the file i'm openning is Completely Written. > > > > Any instruction will be grateful. > > > > > > PS: I've made a test. My php-script just "fopen" a local file being > > transported in, and the "fopen" returns no FALSE value but a resource. > > > > > > Dengxule > > 2009/08/19 > > > > > > Check the timestamp of the log file. Alternatively you can have a > > log control file that is updated by the program transferring the log > > file only when the transfer is completed, and work on that. > > > > Cheers > > Arno > > > > > The log control file wouldn't work, as how would you know when to open > the control file?! > > Thanks, > Ash > http://www.ashleysheridan.co.uk > > -- > > You can open the control file any time you want. The info in the > control file tells you whether to proceed. The transfer program adds > the entry when the log has been transferred, the processing script > updates the entry to indicate it's been processed. You can either add > a new entry each time (useful for monitoring to fine-tune the timing, > or for keeping a history) or work on a single entry that's overwritten each time the log is transferred. > > Cheers > Arno > > No, what you're saying is 'use a log file in order to know when to look at another log file'. What would happen if you tried to access the control log file whilst it was in the process of being written to? Admittedly, you reduce your chances of failure because there is less data being written to the control log than the actual log, but the chance of reading incomplete data is still there! Thanks, Ash http://www.ashleysheridan.co.uk A control file is used to control processing, a log file is used to log events. I'm definitely talking about a control file. If the control file happens to keep a log then it's a bonus, but not its primary purpose. Access the control file while being written to? I'm talking about a short single-line entry, and the file is only written to when the write command is processed. Copying a file is very different to issuing a single write command. Don't forget that PHP and webservers run on top of operating systems, and the OS ultimately handles all file activity. The OS ensures that another process can't read a file that is halfway through a write command (any computer would instantly crash if that sort of basic housekeeping wasn't done). If you don't trust the OS then file locking can be used (though pointless in this case). For the ultra-paranoids who don't trust OS's or locks you can either (a) choose a different career, or (b) add a time-stamp to the beginning of the entry and check that the entry wasn't written in the last few nanoseconds (if you get this far I'd recommend option a). You can even go so far as to check the length of the timestamp string to be sure that you got all of it, and if it's too short you know you're busy reading a file that's halfway through a write command, and sleep for a millisecond and then try again ;) Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] How to make sure that the target file to read is not under writing by others?
-Original Message- From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 19 August 2009 03:34 PM To: a...@dotcontent.net Cc: 'Dengxule'; 'Php Maillist' Subject: RE: [PHP] How to make sure that the target file to read is not under writing by others? On Wed, 2009-08-19 at 15:31 +0200, Arno Kuhl wrote: > (any computer would instantly crash if that sort of basic housekeeping > wasn't done) No, it really wouldn't! If it did, then you'd never have video playing software out there that supported broken downloads, no preview software for semi-downloaded items. Have you ever been sent a large jpeg over a slow connection on a messenger program? You can open the file way before it's finished downloading and actually see it progressively load in. Thanks, Ash http://www.ashleysheridan.co.uk --- If anyone was left a bit unsure about whether or not a write command in PHP could result in a file on a local filesystem being left in a semi-written state (i.e. some other script started reading the file while your script had only written part of its output string) rest assured that fwrite() always writes *all* the contents to the file without the need of flock(), by the time any other process (whether PHP or not) reads that file (assuming you're not writing megabytes of data with a single fwrite()). To quote the PHP manual: "If handle was fopen()ed in append mode, fwrite()s are atomic (unless the size of string exceeds the filesystem's block size, on some platforms, and as long as the file is on a local filesystem). That is, there is no need to flock() a resource before calling fwrite(); all of the data will be written without interruption." Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] SESSIONS lost sometimes
-Original Message- From: Leon du Plessis [mailto:l...@dsgnit.com] Sent: 20 August 2009 09:44 AM To: php-general@lists.php.net Subject: RE: [PHP] SESSIONS lost sometimes Since we are on the subject: I have the following similar problem: When testing page on internet explorer, I find that one tab's variables can affect another tab's variables. Thus when having the same web-site open and using SESSION variables but for different users, Internet explorer can become "disorientated". This also "sometimes" happen when I have two separate browsing windows open with Internet Explorer for the same site. I have yet to determine if this is an internet explorer, or PHP or combination of the two that is causing this condition. To my understanding _SESSION variables should be maintained per session, tab or window. If this has been addressed already, my apologies, but thought it worthwhile to mention. If someone perhaps have a solution or can confirm this as a known issue and maybe is the same or related to Angelo's problem? If different browser windows/tabs on the same client-side computer didn't share session info then you'd get the effect of being able to log onto a site with one browser window, but find in a second browser window that you were not yet logged on. Experience will tell you that you're logged on in both browser windows (try it with your online bank). It's not an issue, it's a feature. If you want to be able to use different browser windows as though they were different users then use different browsers e.g. IE and FF on the same client-side computer will look like two separate end users to the server, and they don't share session info or cookies. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] How to make sure that the target file to read is not under writing by others?
-Original Message- From: Tom Worster [mailto:f...@thefsb.org] Sent: 20 August 2009 01:28 PM To: Clancy; php-general@lists.php.net Subject: Re: [PHP] How to make sure that the target file to read is not under writing by others? On 8/19/09 9:56 PM, "Clancy" wrote: > I gather from this discussion that PHP allows two users to open a file > for R/W? I had assumed it wouldn't. i think php does allow this. but i'm not sure all file systems do. -- PHP does allow more than one process to open a file for read-write, as does every other filesystem I know of (PHP doesn't have a filesystem, it implements a subset of file commands common to all OS's [some differences between *nix and Windows] that it uses to communicate with the underlying OS filesystem). If there's a need to ensure that multiple processes don't step on each others toes the file can be locked. The two most common file accesses are read and append, where a lock is mostly not required. It's only in special cases where you want to write or update something and want to be sure that another process isn't trying to update the same data or trying to read data that may no longer be consistent (until you finish your update) that you'd want to lock it. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Invoking functions stored in a separate directory?
-Original Message- From: Clancy [mailto:clanc...@cybec.com.au] Sent: 21 August 2009 01:26 PM To: php-general@lists.php.net Subject: [PHP] Invoking functions stored in a separate directory? I am developing an idea for a website engine which can be shared between several different websites. Each website would have its own directory under a common root directory, and the engine would be in a separate directory Engine: Root Website_1.com, Website_2.com, Engine The website directories would each contain the design data for that website, consisting basically of a mixture of text files and images. The various pages would be loaded by loading index.php from the website root directory, and specifying a number of parameters e.g. http://www.corybas.com/index.php?path=Holidays&level=0&item=0 I have the minimum amount of code in index.php -- just enough to set some parameters to identify the website, and then include ../Engine/Main_prog.php. This in turn can include any of a large number of other include files to carry out particular functions. I have the prototype working nicely on my PC, and on a stand-alone basis on a server, but now I am trying to upload the multi-website version to a public host, and am encountering a number of problems, mainly because I have never done any serious work with UNIX, and the host support staff don't understand what I am trying to do. The problems mainly relate to setting permissions to allow the website to access the engine code. I only have a rough idea of how the permissions work, but I think that to include engine code the website has to have read and execute rights to it, and I also think that so far as the engine is concerned the website will count as 'other'. (I can easily arrange that all temporary files are written in the website directory.) I suspect that rather than including the engine code in index.php, it would be better to call functions in it, so that the website only required 'execute' rights, but I don't know of any way to do this without having anything running permanently on the server. Can anyone suggest how it can be done? - Using include ../Engine/Main_prog.php won't work for you in a production environment. You need to create a path.php file that defines the absolute path to the engine for each website, and include it at the top of your website script. Then you can do something like: include ENGINEPATH."Main_prog.php"; You can have different path files, one for dev and one for live, that allows you to use the same scripts for both environments and just use the appropriate path definition script. E.g. Windows path.php define('ENGINEPATH','../Engine/'); Linux path.php define('ENGINEPATH','/usr/home/Engine/'); You shouldn't really have permission problems as long as your website and engine are on the same server. I do something similar where the bulk of my code is below doc root, and I use path files to find the main system directories. The beauty of it is you can change your mind about directory structures, and just change the path file definitions without making any changes in the application code (my path file defines about 20 directories). It also lets you do dev on a Windows pc and deploy on a *nix box without any problems - just use a different path file for each. One other advantage it will give you for your particualr design is that you can have multiple engines per server (e.g. Engine1, Engine2, etc) so that you can bring one engine down for upgrade while still keeping sites running on the other engines. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] about to run PHP script when POST data.
-Original Message- From: Jacky [mailto:newbde...@gmail.com] Sent: 21 August 2009 03:12 PM To: php-general@lists.php.net Subject: [PHP] about to run PHP script when POST data. Hi guys, As I know When we POST a big data(e.g. 500M) to a php script, the php script only can run after the big data finished POST. for example: a.php > and I post 500m data to a.php, after that a.php cannot be died immediately. only when the data finished post. How can I make the a.php die before the 500m data finish? Thanks in advance. -- Regards, Jacky --- Your script will die ungracefully when it runs out of execution time (defined in php.ini) Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] anchor inside form
-Original Message- From: leledumbo [mailto:leledumbo_c...@yahoo.co.id] Sent: 25 August 2009 09:55 AM To: php-general@lists.php.net Subject: [PHP] anchor inside form If I have an anchor inside form, how can I send form using the anchor without displaying target url? I've tried the code below but IE says that this.form is null or empty and Firefox does nothing. # Pick me -- You can use javascript behind a button or image or link to submit the form from anywhere in your html page. You don't need the anchor but you do need a form name. Something like: href="javascript:document.FormName.submit();" Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] (was: anchor inside form) js switched on/off
> > You can use javascript behind a button or image or link to submit the > form from anywhere in your html page. You don't need the anchor but > you do need a form name. Something like: > > href="javascript:document.FormName.submit();" > > Cheers > Arno > > And all it takes for that to break is for someone to turn off Javascript... Thanks, Ash http://www.ashleysheridan.co.uk - Ash, from what I've seen you enjoy "engaging" in a debate. Well here's something you'll no doubt want to engage in: the number of people who have javascript switched off vs the number of people using browsers that support all the latest ajax-type gizmos. I've not seen anyone told not to go the ajax route, but it's amazing how concerned some people are about whether javascript is switched on or not (the fact that js is required for ajax seems to be overlooked). When w3schools was still keeping stats about it they showed about 5% of users had js switched off (though they conceded the stats were unreliable - tech types go to w3schools and they're much more likely to mess with browser settings than the average user). Generally it's accepted that the average joe doesn't know how to switch js off, or even why they would want to. When we investigated sites where this is specifically measured (e.g. a banking site, which I once worked on) users who had js switched off were prompted to switch it on, and logs showed that 100% of those users reloaded the page with js switched on (and our stats, during the launch phase, showed much less than .5% users had js switched off in the first place). Generally we found that requiring js was a complete non-issue. I've subsequently found this is true on other sites I've worked on, even when users are not prompted. With navigation menus using js more frequently these days and the increased use of ajax, browsing with js switched off is almost not an option anymore. I'm sure, Ash, you'll tell me how corporate firewalls strip javascripts - I'd be interested if you can point out an example and show how common this is. And as for "most people" telling you js is a bad idea - is this true? Do you have stats to back up your statement, or are you just stating your perception as a fact? A second point, Ash, is that you yourself have mentioned coding javascript, and have suggested the use of ajax as a solution to others - I presume you know what the "j" in ajax is? I've even seen you providing javascript solutions without any concern as to whether js was switched on or not. Perhaps your concern about js is selectively applied to certain posts rather than real-world situations? BTW I'm not in a debating mood - I've made my point, no doubt Ash you'll make yours, and I'll leave it at that. But if anyone else has any further info regarding real-world stats or experience about js switched on or off it would be very interesting to hear. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Beginner question
-Original Message- From: mike bode [mailto:mikebo...@hotmail.com] Sent: 25 August 2009 07:16 AM To: php-general@lists.php.net Subject: [PHP] Beginner question I am trying to use PHP on my web site I am developing now. I have installed Apache 2.2 and PHP 5.2. My problem is that I can execute PHP code embedded in my HTML code, but I can't execute the same cose when I put it into a separate .php file that i then call from within the html code. for example: I have a html file with and it works fine. When I take out the php code and put it inot a file pp.php, and I call that file with my browser ("localhost/pp.php"), it works, too. But when I change the html code to: I get a blank page. this is probably something really stupid, but I have been wrecking my head for days now, and I can't figure it out. anybody has an idea? -- I presume your html/php code is in a file with a .php extension? If not then change the extension to "php" because most other webservers won't parse php code in a html file. If you have a .php file you can mix html and php the way you described, and you can put your php code between the tags. The php script you're trying to include in your html code with javascript would presumably echo out the javascript code that ends up in your html page, but if you don't know php then you're trying to run before you can walk. If possible try to see what javascript code is being generated (echoed) by the php script and put it in a normal .js file (e.g. pp.js) and then use it like any other javascript file This isn't always possible because often php is used to decide what javascript to output (otherwise why bother). If you have to use php to generate your javascript code then start with small steps - try echoing some simple js code in your pp.php (like an alert) just so you can see how it works. Once you get that working you can move on to more useful things. To illustrate, what's actually happening with the code you have at the moment is this: The browser parses the initial html code and finds And sends a request back to the server for pp.php The server runs pp.php and send the output generated by the php script back to the browser, so effectively the browser ends up with Printing with php Obviously that isn't going to work. Hopefully you can now see what the problem is and how to fix it. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Please Help with simple Noob problem
-Original Message- From: Scott Bounds [mailto:[EMAIL PROTECTED] Sent: 11 January 2007 06:21 To: php-general@lists.php.net Subject: Re: [PHP] Please Help with simple Noob problem Jochem Maas wrote: > Scott Bounds wrote: > >>Hello all. I seem to be having a terrible tim ewith something that is so >>simple it makes me sick. I have a server running FC2. it has Apache >>2.x.x on it and it came installed with php-4.x.x. Sorry I don't have >>the exact versions but fatigue and frustration has taken over. I can >>get them if you really need them. Here's the major problem. When I try >>and view a simple php page in the browser, it doesn't display anything >>that has to do with the php tags. By that I mean it won't recognize the >> php directives (I guess). > > > does that mean your seeing the text '' (or similar) > in your browser? if so then your apache setup is broken with regard to > php - the php apache module is not being loaded or the mapping to > .php files is borked (or non-existent). > > I made a simple page (the infamous phpinfo > >>() page) right out of the books. Saved it as test.php just like it >>said. Made sure that apache is running and browsed to the page. >>Nothing, no errors, no nothing. I have made up some other pages (mostly >>from some php books - real simple ones) to view and they all display the >>same action. >> >>Now when these machines (I actually have a couple of these servers and >>they all act the same) were installed, it was from FC2 CD's with the >>webserver full package. There were all kinds of php files installed, >>etc. In my httpd.conf file it calls the php.ini file, etc. So it seems >>to be all there. > > > start by tailing the apache access_log and the apache error_log, > a cmdline something like this: > > tail -f /var/log/apache2/access_log /var/log/apache2/error_log > > and see what kind of errors appear when you surf to the problem pages. > also check for apache start up errors that a related to php. > > >>Can anyone out there help me figure out how to make this work? I would >>be truly indebted to you, put you on my Christmas card list, etc. > > > please don't waste trees. > > >>Thanks in advance to all of you kind and wonderful people. >> >>Scott >> Well, actually I don't see anything. Nothing at all (in the case of the phpinfo() page. All the page has in it is just . It was saved as test.php. How can I tell if something is broken and where do I look for the files? I haven't done any dorking around with the links, etc. Just done the complete install, etc. Then wanted to play around with things to to get the feel of everything. And I get nothing. Thanks! Scott -- Might be a silly question, but in the browser address bar did you type http://localhost/test.php because if you just viewed a php file in the browser you see the contents as you described. You can most times view an html file successfully in a browser but not a php file, that needs the webserver to process it. (sorry if I'm being over-simple but you did say you were a noob) If you're loading the page properly then check your php.ini to see if it's outputing to an error log and what that error log is, then check the log file. Apache also has an error log, look in the conf file to see what it's called and check that too. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Please Help with simple Noob problem
-Original Message- From: Scott Bounds [mailto:[EMAIL PROTECTED] Sent: 11 January 2007 07:16 To: php-general@lists.php.net Subject: Re: [PHP] Please Help with simple Noob problem Arno, you nailed it right on the head. You and someone else told me that. I am glad that you did because that is exactly what the problem was. Thanks for being patient and understanding. Scott -- Sure, all part of the learning experience. Understanding why you can view an html file in a browser but not a php file is essential: when viewing an html file, it's the browser (client-side) that's processing and rendering the html code, but the browser can't process php code. For that you need the webserver (server-side). Browsers are built to understand and process html and javascript, but only a webserver can understand and process php script. Unless you're developing or learning, the browser and the webserver are almost always on different machines (that's the whole point of the internet!). In your case (and most cases) the webserver is Apache. Apache treats html files and php files differently. In the case of html files it just gets the file and sends it back to the browser, as it was requested to do. But in the case of php files it opens the file and starts processing it, i.e. running it as a program. Apache processes (runs) the php script which generates the html script, which Apache then sends back to the browser. The browser then processes that html script and displays the result. It's basically the same concept for all server-side scripting. When you type http:// in the browser address bar, you're telling the browser to communicate with a webserver, using the hypertext protocol. When you type file:// in the browser address bar, you're telling the browser to communicate with your local file system. Try http://local-directory/file.html and you'll see it won't work, whereas file://local-directory/file.html will work just fine (assuming you've got file.html in local-directory). Hope that makes sense. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] most powerful php editor
-Original Message- From: Vinicius C Silva [mailto:[EMAIL PROTECTED] Sent: 21 January 2007 02:54 To: php-general@lists.php.net Subject: [PHP] most powerful php editor hi everyone! i'd like to ask something maybe commonly asked here. what is the most powerful php editor? = There've been lots of good replies to this, and I figured I'll add my 2c I spent several months trying out many editors and IDE's on the Windows platform about 3 years ago - all the usual suspects, most have been mentioned in other replies - and settled on Nusphere's PHPEd (an IDE rather than an editor). Every year when it comes time to renew my license (which I had to do 2 weeks ago) I look at what else is available and new, try out the latest versions of some of the candidates that made it to my short list, and then renew my license anyway because it's worth every cent and because for me there's nothing that matches it. There are lots of good editors and a few good IDE's, but every one I tried had some or other niggle that put me off: buggy software, slow performance, missing or shallow functionality, bitty integration, etc. Nusphere's PHPEd was the 2nd most expensive (at the time) but it hit the sweet spot and I've never regretted buying it. A bonus was finding that the response from the support forum was good, and updates are regular and stable and meaningful. A real bonus was finding that the most recent license renewal is now valid for 3 years instead of 1 year. So I'll only be looking at the competition again in 3 years time - unlike Stut I hope this question is asked at least once a year because I'd like to hear what's new. For me the analogy goes something like this: if you type the occasional letter or note then Wordpad is perfectly adequate, but if your livelihood is churning out professional well-formatted heavy-weight documents then it pays you to invest in a top-class word processor and supporting tools. The same goes for an IDE. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] most powerful php editor
-Original Message- From: Robert Cummings [mailto:[EMAIL PROTECTED] Sent: 22 January 2007 01:32 To: [EMAIL PROTECTED] Cc: php-general@lists.php.net Subject: RE: [PHP] most powerful php editor On Mon, 2007-01-22 at 01:22 +0200, Arno Kuhl wrote: > > For me the analogy goes something like this: if you type the occasional > letter or note then Wordpad is perfectly adequate, but if your livelihood is > churning out professional well-formatted heavy-weight documents then it pays > you to invest in a top-class word processor and supporting tools. The same > goes for an IDE. I think I just vomited in my mouth... Yep, tastes like bile :| Cheers, Rob. -- Hope you get over it :) So you don't think EditPlus or UltraEdit or Notepad++ (some of the proposed editors that I consider "Wordpad"-type editors) would be a bit inadequate for more complex project developments? Some people who've never been exposed to a really good IDE think this is as good as it gets. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] most powerful php editor
-Original Message- From: John Meyer [mailto:[EMAIL PROTECTED] Sent: 22 January 2007 03:15 To: php-general@lists.php.net Subject: Re: [PHP] most powerful php editor Dear god Arnot, would you like to stand back for a moment and consider how retarded those statements are, or would you like for me to do it for you? Whether you use a powerful IDE or not, you still have to use the same compiler underneath. In PHP, that "compiler" is the web server. Unless you buy an IDE that contains a mini-server for you to test the files, yoru comparison between IDEs and word processors is ludicrous at best. == That's the point I was trying to make, but obviously not very well. A good PHP IDE does have a built-in web server. It can do profiling, debugging, error high-lighting, project level function cross-checking, scope-checking, defines checking, version control, internal ftp, db front-end, and a whole truckload of other features that help you manage large projects. Sure it's not going to turn a monkey into a coding guru, but it's sure going to help anyone trying to manage large complex environments. I had the fortune to work with a brilliant IBM IDE years ago when I was working in C, and I discovered how much more you can get done (code and complexity) when you use the right tools. When I moved to PHP I struggled for the first while working on a project with more than a hundred files and more than a hundred db tables, using a bunch of unintegrated tools to get the job done. I could make it work but it was a laborious process of cross-checking every step of the way. And the biggest problem was no debugger. Now with a real IDE I can work between 4 and 10 times as fast, and tackle bigger projects and far more complex stuff. But as Robert said, to each their own. BTW I did once have the misfortune of having to prepare about 100 documents for ECITE back in 2002, each doc about 20-50 pages. Between projects and short of cash. I'm no document formatter - I far prefer coding for 18 hrs a day than spending 18 hrs a day formatting documents, no matter how good the word processor. I believe there are people who lap this kind of stuff up, but I'm not one of them. I got the job done but would never do it again. A good example where the right tools can't turn a monkey into a pro. But my point is that not even the pro's could do it properly without the right tools. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] using return in include files
-Original Message- From: Aaron Axelsen [mailto:[EMAIL PROTECTED] Sent: 23 January 2007 06:12 To: php-general@lists.php.net Subject: [PHP] using return in include files I'm trying to figure out what the desired behavior is of using the return function to bail out of an include page. I did some testing, and this is what I concluded. First, I created the following file: "; ?> I then called it as follows: include('test.php'); include('test.php'); include('test.php'); The output is: blah blah blah blah Second, I changed the test.php file to be the following: "; function myFunc($test) { } ?> When I load the page now, it throws the following error: PHP Fatal error: Cannot redeclare myfunc() It appears that if there are functions in the include page that you can't use return to bail out. What is the desired functionality in this case? Is this a bug in how php handles it? or was return never designed to be used this way? Any thoughts are appreciated. -- Aaron Axelsen [EMAIL PROTECTED] Include works as though the "include" statement line is replaced by the code that is being included. So try the following exercise and it should become obvious why you're getting that error: copy-and-paste the code from test.php into the code that "includes" test.php for each line that includes test.php, and then delete each of those include lines (I'll comment them out). You end up with: "; function myFunc($test) { } // include('test.php'); if (defined('TEST_LOADED')) { return; } define('TEST_LOADED',true); echo "blah blah blah blah"; function myFunc($test) { } // include('test.php'); if (defined('TEST_LOADED')) { return; } define('TEST_LOADED',true); echo "blah blah blah blah"; function myFunc($test) { } ?> Run that and you should get exactly the same error. Interestingly under php4 neither your code nor my expanded version of your code throws an error, so I assume you're using php5? If you're trying to avoid including the file more than once you could use "include_once", but I've had problems with that - the file was previously included but not in the same scope, so it wasn't included second time it was called and yet none of the included file's contents existed. The way I got round it was by assigning a value in the include file, and then testing for that value before including the file. For example: test.php main.php You can't use a define for this because it has a much wider scope and you end up with the same problem as using "include_once". Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] php and .net webservice
Hi all, I have a php client that needs to interact with a .net web service. The method I call returns a strongly typed dataset (some or other .net object). I cannot seem to get my php client to understand what this dataset is. I can see the information with a tcpdump, but for the life of me I can’t get php to display the results returned. Any pointers? tia -- Arno Coetzee Flash Media Group Developer Mobile : 27 82 693 6180 Office : 27 12 430 7597 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] how to access private property?
Nicholas Yim wrote: > Hello Everyone, > > [code] > class MyClass { > private $prop; > } > $obj=new MyClass; > [/code] > > is there anyway to read and write MyClass->prop, except serialize > > Best regards, > > Nicholas Yim > [EMAIL PROTECTED] > 2007-03-06 > > why not have a public function that returns the value of the private variable $prop... -- Arno Coetzee Flash Media Group Developer Mobile : 27 82 693 6180 Office : 27 12 430 7597 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Data Types Problem
Hi Guys I seem to have a problem with data types in php when executing the following script , i do not get the desired output. i a pass url parameter (message) to the script. if i pass a numeric value (1) , the script accepts it as '01' and vice versa. the same with 0 and '00' here is the script: echo "theMessage : '" . $theMessage . "'\n"; if ($theMessage == "01") { echo "message : '01'"; }else if ($theMessage == "00") { echo "message : '00'"; }else if (is_numeric($theMessage)) { echo "Numeric Input : " . $theMessage; }else { echo "Invalid Input"; } ?> i presume that i am not interpreting the data types it should be interpreted. can anyone please help -- Arno Coetzee Flash Media Group Developer Mobile : 27 82 693 6180 Office : 27 12 430 7597 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Newline and tab characters
I've just noticed that "\r\n" and "\t" characters create a space when rendered in the browser (tested in IE and Firefox). I'd always thought the browser would ignore these characters. This wouldn't normally be a problem but the wysiwyg html editor in the cms I'm using tries to be friendly by formatting the html code, so something like getonline becomes \r\n\t\tget\r\n\t\tonline and instead of being displayed as getonline it's displayed as get online. Is there a simple way to sort this out or do I need to create a function to strip these characters before display, checking first that they don't occur within a tag in which case I mustn't strip them. TIA Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Ide help needed
Nuspere's PHPEd. Highly recommended. I looked at all the alternatives, including Zend and Eclipse, and IMO PHPEd is superior. And faster performance is a real bonus. Arno -Original Message- From: Davi [mailto:[EMAIL PROTECTED] Sent: 02 April 2007 02:50 To: php-general@lists.php.net Subject: Re: [PHP] Ide help needed Em Sexta 30 Março 2007 14:39, [EMAIL PROTECTED] escreveu: > I am a beginer with php and i need to know which IDE is best suited > under windows and linux both > > i have seen dreamweaver working and have heard about GoLive too but don't > know whichone to go for > > can you please help me decide > and also > tell me some other IDE's if possible Does anyone knows any IDE for PHP like VisualStudio.net? TIA -- Davi Vidal [EMAIL PROTECTED] [EMAIL PROTECTED] -- Agora com fortune: "Beneath this stone lies Murphy, They buried him today, He lived the life of Riley, While Riley was away." -- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: page works on public web site, but not on my computer
-Original Message- From: mike bode [mailto:mikebo...@hotmail.com] Sent: 27 August 2009 04:49 PM To: php-general@lists.php.net Subject: Re: [PHP] Re: page works on public web site, but not on my computer I understand, but that's not an option. I am not interested in getting into a Linux vs. Windows fight here, let's just say that I am stuck with Windows. Now, somthing's gotta be seriously wrong here. I have tried now 4 or 5 different scripts for the photo gallery that I am trying to implement and NONE of them has worked. I have enabled all extensions and loaded all modules in Apache and php -- still nothing. I can't believe that the Apache Society out there simply ignores the 80% or so that use Windows. Can anybody point me to a group that deals with Apache (PHP) on Windows? Thanks. mike >> -Original Message- >> From: mike bode [mailto:mikebo...@hotmail.com] >> Sent: Tuesday, August 25, 2009 11:41 PM >> To: php-general@lists.php.net >> Subject: [PHP] Re: page works on public web site, but not on my >> computer >> >> I just de-installed, then re-installed MySQL, Apache and PHP 5.3. No >> changes. The script does not work on my computer. >> >> Now I get in addition to the error message below this: >> >> [Tue Aug 25 21:29:11 2009] [error] [client 127.0.0.1] PHP Deprecated: >> Function eregi() is deprecated in >> C:\\webdev\\rmv3\\album\\getalbumpics.php >> on line 11, referer: http://localhost/album.php >> >> Don't know if those warnings would stop the execution of the php script. >> >> >> ""mike bode"" wrote in message >> news:99.f2.08117.ccf74...@pb1.pair.com... >> >I have posted the question in another thread a bit down, but only >> buried >> >within the thread, so please excuse me when I ask again. >> > >> > I want to use some PHP code from a web site >> > (http://www.dynamicdrive.com/dynamicindex4/php-photoalbum.htm), and >> > I >> am >> > following their instruction how to implement it. I was not able to >> > get >> it >> > to work. Then I uploaded the code to a server, and lo and behold, >> > it >> does >> > work on the server. On the public site you see thumbnails of images >> (never >> > mind the junk above them), when I run the SAME html and php code on >> > my >> >> > omputer, I get a blank white page. >> > >> > The error log has several entries, but they are all warnings: >> > >> > [Tue Aug 25 18:12:00 2009] [error] [client 127.0.0.1] PHP Warning: >> > date(): It is not safe to rely on the system's timezone settings. >> > You >> are >> > *required* to use the date.timezone setting or the >> > date_default_timezone_set() function. In case you used any of those >> > methods and you are still getting this warning, you most likely >> misspelled >> > the timezone identifier. We selected 'America/Denver' for '-6.0/DST' >> > instead in C:\\webdev\\rmv3\\album\\getalbumpics.php on line 11, >> referer: >> > http://localhost/album.htm >> > >> > (this error is repeated for as many images I have in the directory >> that >> > the php script is reading). >> > >> > Between php.ini, httpd.conf, and Windows Vista, I can't figure out >> where >> > to start to diagnose this, and how. Anybody out there who can give >> > me >> a >> > pointer on how to roubleshoot this issue? I am almost ready to >> > throw >> in >> > the towel and either start from scratch (although this is alrady >> > the second time that I have uninstalled and re-installed >> > everything), or simply forget about php altogether. that would be a shame, though... >> >> >> -- I'm sure there are many on this list that develop on the Windows platform, including myself. I deploy on Linux, and personally I find the two environments to be very compatible (in fact besides the url and filename case differences I haven't found any practical difference between the two at all). So it's not at all true that Apache "simply ignores the 80% or so that use Windows". You previously said you're new to php, so what are the chances that this has more to do with your own inexperience with php rather than some Windows-only bug you've discovered and are revealing to the rest of the php community? The error message mentions the script name and a line number, have you checked what code is causing the error? You said you installed php 5.3 on your pc. Chances are very high that the host you uploaded this to is not running php 5.3. Someone previously mentioned that there are differences between 5.3 and the previous versions that could account for your issues. Have you tried installing php 5.2 and trying it again? There are also settings in php ini file that you can change to change the error reporting, but it's not clear if you've tried that yet. One final thing, have you tried to google with the error message to see how others dealt with this problem? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] header problem
-Original Message- From: A.a.k [mailto:blue...@gmail.com] Sent: 10 September 2009 08:27 AM To: php-general@lists.php.net Subject: [PHP] header problem hello I recentrly uploaded my project from localhost to a hosting and found many errors and warnings which didnt have in local. one of the most annoying one is header('Location xxx'). I have used header to redirect users from pages, and kinda used it alot. i know about the whitespace causing warning, but most of the pages i'm sending users got html and php mixed so i'm confused about how to remove whitespace in a html/php file. the error is : Warning: Cannot modify header information - headers already sent by here is a simple example, user update page : if($valid) { $msg='111'; $user->dbupdate(); header("Location: /admin/index.php?msg=$msg"); } else { foreach($errors as $val) echo ''.$val.''; } and on admin index i get $msg and display it. .. //lots of stuff '; break; case '421':... } ?> // more html and php how can i fix this? -- It's possible that on your localhost you have output_buffering set on either in php.ini or in a .htaccess, which would avoid the displayed error about headers. If it's switched on locally and off for your host server then you'll get the problem you reported. Check that this is off locally (use phpinfo) so that you can be sure your code is working properly before you upload. Alternatively if you want to be able to do a redirect after you've already started your output (this is sometimes done for error handling) you could use ob_start() to start output buffering, ob_end_clean() to clear the output buffer and start again, and ob_flush() to send the output buffer. If you want to continue using output buffering after an ob_end_clean() you'll have to do an ob_start() again. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] PHP configuration values
I'm having some problems with the way my service provider is implementing FastCGI. My tests show that local configuration values are no longer used, even though those are the values reported by php when the script queries a setting (e.g. register_globals). In fact all settings done by script or in .htaccess are ignored, though reported to be in effect by php. I seem to remember seeing somewhere that local values are supposed to override master values but I can't find the reference right now. Can anyone please tell me how local vs. master values are supposed to work, or point me to a definitive reference. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP configuration values
On Fri, Sep 11, 2009 at 3:06 AM, Arno Kuhl wrote: > I'm having some problems with the way my service provider is > implementing FastCGI. My tests show that local configuration values > are no longer used, even though those are the values reported by php > when the script queries a setting (e.g. register_globals). > -Original Message- From: Andrew Ballard [mailto:aball...@gmail.com] Changing register_globals in script will not have the desired effect, since the action of registering globals will have been either completed or skipped by the time you call ini_set(). If the host allows it, you can override it in .htaccess, but I've not been able to do so on the couple sites I've touched that were hosted on by a shared hosting provider. In those cases, I WAS able to create my own php.ini file in the web root folder and configure it as needed. Of course, if you do that you should also configure Apache to not serve that file if requested. Andrew -- You're right, you can't change register_globals in script but you can query it in script, which is what I was referring to. There aren't many settings you can change in script, about the only useful one that we use is max_execution_time. Either way, what I find in testing is that on our host php returns the value reported in phpinfo as the "local value" which is correct, because that's the value that should be in effect (combination of httpd.conf, php.ini, .htaccess and values set in script), but the value that's actually in effect is the master value. For example, if php.ini sets register_globals on and .htaccess sets register_globals off, then the code ini_get('register_globals') reports register_globals is off (it's reporting the local value) but in fact register_globals is on. In this particular case our app would stop with a configuration error if it found register_globals on, but it thinks it's off so happily carries on. Local is supposed to override master values but they have master overriding local values. I'm trying to confirm that local is supposed to override master, and find a proper reference that I can show to my hosting guys. I searched php.net but they don't mention which one takes precedence. Anyone know of any references? BTW Andrew, were those hosting servers that wouldn't allow override in .htaccess running FastCGI? Maybe FastCGI doesn't allow config settings in .htaccess but I can't find anything conclusive about that either. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Fixing the path
-Original Message- From: Rico Secada [mailto:coolz...@it.dk] Some time ago I developed a small web application that a bunch of users has installed. I have always used the DOCUMENT_ROOT for my includes, but the other day I installed the application in a subdirectory, and as you've guessed a lot of the includes didn't work. I have been reading up on the subject of absolute vs. relative paths etc. And on the subject of defining your own document root. I need the application to be as user friendly as possible, and I would like to avoid having users enter path details in the configuration. What is the best way to solve this problem? Rico. -- Who are your users? Can users download the script and run it on their own servers? If so there shouldn't be a problem asking them to set a path in a config file because presumably the users would know something about servers and paths, and presumably they'll know enough to create the directory and copy the files there in the first place. If you have an install process you can pick up the current directory from system globals and write it to the path setting in the config file. You might need two different absolute paths, one for includes and one for urls. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Output buffering
Has there been a change to the way output buffering works? The manual states for ob_get_contents() "This will return the contents of the output buffer or FALSE, if output buffering isn't active." But the following works in php4.4.4 and php5.2.6 whether output buffering is on or not "; echo "output_buffering is "; echo ini_get('output_buffering')?"on":"off"; echo ""; $check = ob_get_contents(); if ($check === FALSE) echo " FALSE"; $info = ob_get_contents(); ob_clean(); echo $info." -2-"; ob_flush(); ?> The output is "output_buffering is off -2-" (or on) displayed once - "FALSE" is obviously never appended. According to the manual I shouldn't see anything at all when output_buffering is off (or if memory serves me correctly I should see an error about "headers already sent" or something). Looking at phpinfo confirms the value echoed by the script. Has something changed with output buffering? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Output buffering
From: djo...@gmail.com [mailto:djo...@gmail.com] On Behalf Of David Otton Sent: 07 October 2009 10:54 AM To: a...@dotcontent.net Cc: php-general@lists.php.net Subject: Re: [PHP] Output buffering 2009/10/7 Arno Kuhl : > According to the manual I shouldn't see anything at all when > output_buffering is off (or if memory serves me correctly I should see > an error about "headers already sent" or something). Looking at > phpinfo confirms the value echoed by the script. Has something changed > with output buffering? Use echo ob_get_level() . ""; to find out how many levels of output buffering you are wrapped in. Whether output buffering is set to start automatically, and whether output buffering is on right now are two different things: ob_end_clean(); echo ob_get_level() . ""; echo ini_get('output_buffering') . ""; -- Thanks David. After taking another look at the description for ob_start() I began to suspect there was a difference, but the manual doesn't mention anything about it. And the fact they use the same terminolgy for both the settings and the functions is confusing. I can see from tests that the htaccess/ini settings have no obvious effect on the ob functions (maybe buffer size?). Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Need unrounded precision
-Original Message- From: Andre Dubuc [mailto:aajdu...@webhart.net] Sent: 02 January 2010 03:20 AM To: php-general@lists.php.net Subject: [PHP] Need unrounded precision Hi, I need to extract the first digit after the decimal point from a number such as 28.56018, which should be '5'. I've tried a few methods to accomplish this. If I use 'ini_set' I would need to know the number of digits before the decimal (which, unfortunately, I would not have access to). Then I've tried: What I need is only the first digit after the decimal -- all the rest could be 'chopped' or discarded but without rounding the first digit after the decimal point. Is there any way of doing this? I'm stumped. Tia, Andre -- One way that should work regardless the number of digits before/after the decimal is: - convert to string (sprintf or typecast) - strpos the decimal - grab the char from the next position Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Anyone using Aptana and Xdebug? Or other debugger recommendations besides Zend?
-Original Message- From: Dave M G [mailto:mar...@autotelic.com] Sent: 09 November 2009 05:36 PM To: php-general@lists.php.net Subject: [PHP] Anyone using Aptana and Xdebug? Or other debugger recommendations besides Zend? PHP List, I won't go into a big rant about Zend, and instead simply say that while I was using Zend Studio to debug PHP pages since version 5.0. I was never really all that happy with it. It seemed to be the most complete debugging environment for PHP, so I put up with it. I will say that the Studio installation procedure has got better, but setting up a reliable debugging server has not. Now, the current version of Zend Studio (7.0) is based on Eclipse (I think since v6.0), and so I'm just not sure what I'm paying for anymore. Aptana Studio, also based on Eclipse has pretty much the exact same interface and can even connect to a Zend server. Since one of those is free, I can't see why I wouldn't switch. The issue for me is that paying for Zend hasn't really saved me much hassle, so even if Aptana has difficulties, at least they are free difficulties. The main failing point, so far as I can see, of Aptana/Xdebug, is a lack of good, clear, documentation (also note that Zend doesn't have great documentation either). Especially on how to set it up. I was wondering if anyone has used it and could provide a link or instructions on how to get the debugging environment up and running. Or, equally as valuable, would be recommendations on other debugging environments. The key is finding one that has a clear set of instructions for how to set it up (On Ubuntu/Debian Linux with a local LAMP server.) Thanks for any advice. Dave M G -- Dave, take a look at PhpED from Nusphere. I've used the Windows version very happily for the last 6 years. There is a Linux version but I haven't tried it so can't comment - from the forum I gather that most users use the Windows version. Debugging in PhpED is brilliant, but so is the rest of the IDE. I also looked at Zend Studio every now and then over the last few years to see how it was progressing, but wasn't that impressed. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Using $$
I was looking at some old code that I'm convinced once worked but now using php5 it doesn't seem to work anymore. $input = "_REQUEST"; if (is_array($$input)) { // do something } I know $_REQUEST is an array, but $$input is NULL (I was expecting it == $_REQUEST). I also tried ${$input} but same result. I tested something other than a superglobal and it works as expected. What am I missing? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Using $$
-Original Message- From: Ford, Mike [mailto:m.f...@leedsmet.ac.uk] Sent: 19 November 2009 07:06 PM To: php-general@lists.php.net Subject: RE: [PHP] Using $$ > -Original Message- > From: Arno Kuhl [mailto:ak...@telkomsa.net] > Sent: 19 November 2009 12:23 > > I was looking at some old code that I'm convinced once worked but now > using > php5 it doesn't seem to work anymore. > > $input = "_REQUEST"; > if (is_array($$input)) { > // do something > } > I tested something other than a superglobal and it works as expected. > What am I missing? Depends where you have this fragment of code, but possibly the big fat warning box towards the bottom of http://php.net/language.variables.variable? Cheers! Mike -- Thanks for the link Mike, didn't know that. It doesn't say when this was introduced but I'm sure superglobal variable variables must have worked at some stage, because I've got code that once worked but doesn't anymore and it's due to this. There's always a workaround, just not as elegant. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Will PHP ever "grow up" and have threading?
If you added threading to the bag of tricks it already has, you're getting into areas that make it more difficult to pick up for beginners (and that's not to mention the technical elements involved in actually adding threading to PHP) Currently the only other 'easy' language I know for beginners is ColdFusion, and that's just horrible. You wouldn't want to be responsible for sending the newbies down that path would you?! :p Thanks, Ash http://www.ashleysheridan.co.uk == That's not a good argument against implementing threading, regardless of the technical issues involved in making it work. There are plenty of more advanced areas of php that beginners stay clear of. Just because threading is available doesn't mean it will automatically be used or even considered in most projects. I wrote C code for years in a large fairly complex banking front-office system and only found a very few occasions where threading was required to get the job done. In the majority of C and C++ code you find very few examples of threading, either because it's not required (99.9% of the time) or the coder didn't feel comfortable using it and found another way to achieve the result. In the few occasions where I did use threading I would say that most the time there was no other way of achieving the required result. But the issues you need to solve with C are very different to the issues you need to solve with php. I've spent more than 8 years coding php and I haven't ever hit a brick wall because of the lack of threading, but of course every project is different and I'm sure there are situations out there where trying to work around the lack of threading can cause major hassles. But as others have pointed out you use the right tools for the job, and if php doesn't have what is required then use something else. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Will PHP ever "grow up" and have threading?
-Original Message- From: Rene Veerman [mailto:rene7...@gmail.com] Sent: 24 March 2010 11:31 AM Subject: Re: [PHP] Will PHP ever "grow up" and have threading? thanks for opening my eyes and telling to abandon ship in time. === Bye, enjoy the swim... Maybe by the time you get back to shore you'll realise how dumb it would be if a sailor complained that his yatch didn't behave like a hovercraft, or his passenger ship couldn't carry a million barrels of oil, or his tug boat was useless at pulling a skier... Just how much (or little) development experience do you have? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP Application Structre
-Original Message- From: Alex Major [mailto:p...@allydm.co.uk] Sent: 10 May 2010 12:39 PM >From what I've seen and used, there seem to be three distinct ways of going about it. 1) Using a 'core' class which has a request handler in it. All pages in the site are accessed through that one page, e.g. http://www.somesite.com/index.php?page=ViewUser http://www.somesite.com/index.php?page=ViewProduct This is one that I've personally used most after becoming familiar with a bulletin board system several years ago. It means that pages are easily created as all the template/session/database handling is done by the central class. 2) Using SE friendly URL's like: http://www.somesite.com/products/22012/cool-game/ http://www.somesite.com/products/22013/other-game/ This approach seems to be becoming more common on the sites I frequent, however by accounts I've read it seems to be more intensive on apache as it requires a mod-rewrite function. 3) Using different PHP files for each page: http://www.somesite.com/viewproduct.php?product= http://www.somesite.com/viewuser.php?user=... This would appear to be the least developer friendly option? Alex. = The second option doesn't really belong here, because you could go for option 1 or option 3, and then decide whether to hide your implementation behind a mod-rewrite. Option 2 would rather be part of a separate question "what is the cost/benefit of using mod-rewrite". Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP Application Structre
_ From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 10 May 2010 01:58 PM To: a...@dotcontent.net Cc: 'Alex Major'; 'php-general General List' Subject: RE: [PHP] PHP Application Structre On Mon, 2010-05-10 at 13:15 +0200, Arno Kuhl wrote: -Original Message- From: Alex Major [mailto:p...@allydm.co.uk] Sent: 10 May 2010 12:39 PM >From what I've seen and used, there seem to be three distinct ways of going about it. 1) Using a 'core' class which has a request handler in it. All pages in the site are accessed through that one page, e.g. http://www.somesite.com/index.php?page=ViewUser http://www.somesite.com/index.php?page=ViewProduct This is one that I've personally used most after becoming familiar with a bulletin board system several years ago. It means that pages are easily created as all the template/session/database handling is done by the central class. 2) Using SE friendly URL's like: http://www.somesite.com/products/22012/cool-game/ http://www.somesite.com/products/22013/other-game/ This approach seems to be becoming more common on the sites I frequent, however by accounts I've read it seems to be more intensive on apache as it requires a mod-rewrite function. 3) Using different PHP files for each page: http://www.somesite.com/viewproduct.php?product= http://www.somesite.com/viewuser.php?user=... This would appear to be the least developer friendly option? Alex. = The second option doesn't really belong here, because you could go for option 1 or option 3, and then decide whether to hide your implementation behind a mod-rewrite. Option 2 would rather be part of a separate question "what is the cost/benefit of using mod-rewrite". Cheers Arno Personally, I go with option 3 (as Arno said, option 2 isn't really an alternative option, it's something you can use with either 1 or 3) Consider a basic website with a small shopping cart and a blog. It would seem crazy to have all the logic needed for the blog and the cart being pulled in by PHP everytime you just needed to display a contact page. Far easier to keep everything a bit more modular. That way, if you need to update something, you update only a small part of the site rather than some huge core file. But, if your needs are even more simple, say it's just a very small brochure website you have, then running everything through a single index.php might not be such a bad idea. Thanks, Ash http://www.ashleysheridan.co.uk == There are many approaches to this, and I think your final design will largely be determined by what you want to do, and your own skill and experience. If you want to initialise your application, check input and load all your base api functions before calling the specific script (function) to handle the query, then maybe you can consider using a single entry point for your application. It can simplify your design and maintenance, and there are ways to ensure that access to your scripts have been initialised via the single entry point. Careful design can allow you to add new modules/scripts/whatever without having to update your single entry point each time (look at some open-source apps for examples). It also allows you to move your entire application to some place outside the document root and leave only the entry script open to the public, which can add a bit of extra security to your application. Personally I use two entry-points, one for admin and one for everything else. Then besides graphics, flash and javascript, everything else is put someplace outside the document root. The reason I settled on that approach was because the admin script can handle all the slow heavy security-checking stuff and loading additional admin api's, while the general script can be small, fast and lightweight, but won't allow any access to the admin functions. Neither script needs to be updated when adding to or changing the main application. Cheers Arno
RE: [PHP] Re: PHP Application Structre
-Original Message- From: richard gray [mailto:r...@richgray.com] Sent: 10 May 2010 07:05 PM Subject: Re: [PHP] Re: PHP Application Structre On 10/05/2010 18:17, Ashley Sheridan wrote: > It makes sense sometimes to have different files for different > sections of a website. For example, blog.php, gallery.php, cart.php > could deal with the blog, gallery and shopping cart sections for an > artists website. Yes, it could all be achieved with one script > handling everything, but sometimes when the areas of the site differ > greatly, it results in a lot of extra code to deal with pulling in the > right template and content parts. I've always favoured only including > the code a page needs rather than a huge amount of stuff that it doesn't. > this isn't necessarily true - the architecture I've developed uses a single dispatch script (works fine with the mod rewrite option 2 scenario as well) - this script does general checks/security/filters etc then simply determines what page/function the user wants from the request ($_GET/$_POST parameter) and passes control to the specific handler via including the relevant controller module. The controller module is responsible for which template is required and loads up specific classes needed to process the request etc so each module just loads its own stuff and nothing else so there's no overhead. This method also has a small extra benefit that the web server document root just has a very simple 2 liner script instead a myriad of php scripts... if the webserver is misconfigured then someone who sees the source code doesn't get to see much.. Just my 0.02 Euros Cheers Rich -- This is the design I also use. My single entry point (or dispatch script) is only 12 lines of code and never changes, even though the application is constantly updated and expanded. It doesn't load 100's of KB, instead relies on the next (module) layer to load its own requirements. But it does ensure the environment is correct, input checked, db connected, core api's loaded. It's really six of one and half-a-dozen of the other because all designs end up at more or less the same point, but for me this was the most efficient, flexible and expandable design after trying several approaches. Even major design changes like registering modules and scripts and adding mod-rewrite can be done without needing to change the entry script. If another completely unrelated app is ever added I'll just call it's script as Ashley described. The design allows for some interesting options, like a single installed app running multiple domains. We use cents and they're worthless... Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Forward to a Different PHP Script?
-Original Message- From: Alice Wei [mailto:aj...@alumni.iu.edu] Sent: 11 May 2010 10:55 AM Subject: [PHP] Forward to a Different PHP Script? Hi, I am not sure if this makes sense, but here is a snippet of what I have: $q=$_GET["q"]; //find out which feed was selected if($q=="Herald Times") { $xml=("http://www.heraldtimesonline.com/rss/news.xml";); } else{ //execute a whole different php program, like http://localhost/mypages/another_program.php exit; } Is it possible that I could do something like this? If yes, what is the name of the function that I should use? Thanks for your help. Alice _ Use include(mypages/another_program.php); Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Dynamic Menus in a PHP Form Issue
-Original Message- From: Alice Wei [mailto:aj...@alumni.iu.edu] Sent: 24 May 2010 04:47 PM To: php-general@lists.php.net Subject: [PHP] Dynamic Menus in a PHP Form Issue Hi,I have a snippet as in the following: Select the type of your starting point of interest: Apartment If I tried to put this at the top of a file where I save as PHP with other PHP execution statements, looks like the form does not do anything, and yet when I save the page as in HTML with out the other PHP execution, it works. I am trying to create a page where I have dynamic drop down menu lists so users can egenerate dynamic content based on their preference. Is it possible that I can save the entire file as a PHP and still keep the functionality, including generating dynamic menus, writing the proper entries to the database and printing out the proper output? Thanks for your help. Alice _ The reason it works in html is because it is "executed" in the browser. If you want this html to get to the browser you must either echo it to the output buffer that is sent to the browser, or end your php section with "?>" so that these lines are interpreted as part of the output that is sent to the browser. If your php script is running without error then I presume you're already doing this. If that's the case then maybe it's not being put into the output buffer the way you're expecting (e.g. maybe the quotes don't match). You can look at the source code in the browser and compare it against the working html code to see where the difference is. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Recent Influx of Unrelated Discussions
-Original Message- From: paras...@gmail.com [mailto:paras...@gmail.com] On Behalf Of Daniel Brown Sent: 15 July 2010 05:11 PM To: PHP General Subject: [PHP] Recent Influx of Unrelated Discussions Also known as off-topic posts. We're all guilty of them, but has anyone recently noticed that there is a significant number (about 35% of all traffic) that is off-topic? There have been questions on databases, JavaScript, WordPress, Apache directives, and more none of which were even related to PHP. Unfortunately, this is how dilution occurs, which often causes communities to dwindle into a defunct or otherwise low-quality state. As those of you who have been around for at least a couple of years know, we have continued to thrive here because we're not strict on the topics of discussion, and frequently [d]evolve into off-topic banter (particularly on Fridays, as it used to be). However, have you noticed the influx of extremely low-quality and/or low-class posts to the list? Couple that with the ominous silence from the formerly-frequent contributors of high-quality material, code examples, and community assistance. It is not a coincidence. This is an open list, and we don't moderate or censor any of the discussions, but before it gets out of hand, I'd like to suggest a moratorium on all off-topic posts through the end of this month --- with the exception, again, of Fridays. Which would mean that those in agreement would participate in the hiatus by not only not posting off-topic threads, but also not replying to those that are off the general topic. This isn't to say that threads can't still eventually decay into a friendly discussion, as has always been welcome, but that it shouldn't be the intent of a thread to seek assistance on topics unrelated to PHP and PHP programming in general. -- UNADVERTISED DEDICATED SERVER SPECIALS SAME-DAY SETUP Just ask me what we're offering today! daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ -- It's Friday so I suppose I can respond... ;) I belong to a couple of mailing lists and always found the PHP list particularly active, focused, mature, and a tremendously helpful resource, even just following issues others raise and resolve. And Daniel, your own gentle prods to keep things on track I think sets some of the professional tone of the list. However, the subject of the list can be broad and fuzzy and can lead to some semi off-topic posts like Apache directives that affect PHP apps, JavaScript/Ajax interaction with PHP code, open-source PHP apps, etc. And even some non-PHP issues that most PHP developers will deal with at some time or another. Of course there are degrees of just how far off-topic one can go, but the fact that you can tap into a huge resource of skills and experience to find answers that can be difficult to find elsewhere is obviously very tempting. I'm sure I'm not the only one who finds some of the responses to these off-topic issues quite edifying, considering they're almost always within the broad realm of PHP-related web development (though I agree low-quality posts are useless to everyone whether on-topic or not). At the same time I can see it's a difficult balancing act to cater for everyone from total beginners to highly skilled professionals and still keep everyone on board, especially if some of the more experienced and busy users feel they're being flooded with hundreds of mostly irrelevant posts (like this one) every day. But I also think those same users have the skills and filters to quickly scan and find the posts that are useful/interesting/relevant. Personally I think this list is great, even with some of the off-topic discussion. And your own involvement has always been very professional, and of course very focused, thanks. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] tutorial failure
-Original Message- From: e-letter [mailto:inp...@gmail.com] Sent: 18 August 2010 10:44 AM To: php-general@lists.php.net Subject: [PHP] tutorial failure Readers, Copy below of message sent 15 August to php install digest list, but to date not including in mail archive? The tutorial example: php test Hi, I am a PHP script'; ?> this is a test is saved to the normal user temporary folder as 'test.php' and then copied to the folder '/var/www/html/' using the root user account. The web browser is directed to url 'http://localhost.test.php, to show: Hi, I am a PHP script '; ?> this is a test What is the error please? Urpmi was used to install so the php version installed is not known. How to obtain this please -- Shouldn't that be http://localhost/test.php Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Unexpected Notice message
I'm a bit baffled by a notice message displayed: Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in .. The line in question has if (strlen($_SERVER[QUERY_STRING]) > 0) { .. So I set a breakpoint on the line of the notice. The code executes to the breakpoint, I inspect the $_SERVER[QUERY_STRING] and it's got the expected value, it only executes that line once (never gets to that breakpoint again), and yet I get the notice message. Can anyone give me an idea what's going on here? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Unexpected Notice message
-Original Message- From: Tim Streater [mailto:t...@clothears.org.uk] Sent: 04 July 2012 06:56 PM To: Marc Guay; php-general@lists.php.net Subject: Re: [PHP] Unexpected Notice message On 04 Jul 2012 at 16:51, Marc Guay wrote: >> Notice: Use of undefined constant QUERY_STRING - assumed 'QUERY_STRING' in > > I would guess that it's asking you to add quotes around QUERY_STRING...? As in: if (strlen($_SERVER['QUERY_STRING']) > 0) { Cheers -- Tim Excellent, a bit surprised but that was it, thanks a lot. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Some date() oddities
I've bumped into an odd result with the date() function that I can't make sense of. Starting with a unix timestamp for 31 December 2012 13:12:12 (which is 1356952332) I calculate a week number: $ux_date = 1356952332; $weeknumber = date("W", $ux_date); // returns 01 instead of 52 I found some warnings regarding ISO8601 for this in the user notes for the date() function in the PHP manual but couldn't see how this is managed in code, does anyone know of a workaround for this? Cheers Arno
RE: [PHP] Some date() oddities
On Tue, 8 Jan 2013, Arno Kuhl wrote: > Starting with a unix timestamp for 31 December 2012 13:12:12 (which is > 1356952332) I calculate a week number: > > $ux_date = 1356952332; > > $weeknumber = date("W", $ux_date); // returns 01 instead of 52 I'm not that familiar with date, I tend to use strftime myself (no idea why there's both). Sounds like date's W is equivalent to strftime's %V which does indeed return "01" for this date as there's at least 4 days of the new year in that particular week. Both %U and %W seem to return what you want, using strftime. I'd guess that date would also have flags for these. Cheers, Geoff. -- Thanks Geoff, that's what I was looking for. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: UNLESS Statement Equivalent
-Original Message- From: Ford, Mike [mailto:m.f...@leedsmet.ac.uk] Sent: 12 March 2013 10:51 AM To: PHP General Subject: RE: [PHP] Re: UNLESS Statement Equivalent > unless ( $a and $b ) > = > if ( ! ($a and $b) ) > > So in simple terms, just stick a ! (or the keyword not) in front of > your expression, and you'll have exactly what you want: > if( not ( ($current_page == $saved_page) and ($current_ip == > $saved_ip) > and ($current_dt < ($saved_dt + 3600) ) ) { Whilst this is true as far as it goes, I would suggest applying deMorgan's laws to simplify slightly to if ( ($current_page != $saved_page) or ($current_ip != $saved_ip) or ($current_dt >= ($saved_dt + 3600) ) ) Also, the keyword versions of the Boolean operators are very low priority, which is why you need all those extra parentheses -- if you switch to the symbolic versions, you can leave all the internal parentheses out to give: if ($current_page != $saved_page || $current_ip != $saved_ip || $current_dt >= $saved_dt + 3600) Cheers! Mike -- Mike, I presume you're saying the precedence of the Boolean keyword operators is lower than the Boolean symbol operators, but if so then wouldn't there be less need for the parentheses? I prefer using the Boolean keyword operators for both the readability and because of the lower precedence. Unless I've been wrong all this while and the keyword precedence is actually higher? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Re: UNLESS Statement Equivalent
-Original Message- From: Ford, Mike [mailto:m.f...@leedsmet.ac.uk] Sent: 12 March 2013 10:51 AM To: PHP General Subject: RE: [PHP] Re: UNLESS Statement Equivalent > unless ( $a and $b ) > = > if ( ! ($a and $b) ) > > So in simple terms, just stick a ! (or the keyword not) in front of > your expression, and you'll have exactly what you want: > if( not ( ($current_page == $saved_page) and ($current_ip == > $saved_ip) > and ($current_dt < ($saved_dt + 3600) ) ) { Whilst this is true as far as it goes, I would suggest applying deMorgan's laws to simplify slightly to if ( ($current_page != $saved_page) or ($current_ip != $saved_ip) or ($current_dt >= ($saved_dt + 3600) ) ) Also, the keyword versions of the Boolean operators are very low priority, which is why you need all those extra parentheses -- if you switch to the symbolic versions, you can leave all the internal parentheses out to give: if ($current_page != $saved_page || $current_ip != $saved_ip || $current_dt >= $saved_dt + 3600) Cheers! Mike -- Mike, I presume you're saying the precedence of the Boolean keyword operators is lower than the Boolean symbol operators, but if so then wouldn't there be less need for the parentheses? I prefer using the Boolean keyword operators for both the readability and because of the lower precedence. Unless I've been wrong all this while and the keyword precedence is actually higher? Cheers Arno -- I checked the manual, the Boolean symbol operators have a higher precedence than ternary and assignment, while the Boolean keyword operators have the lowest precedence. So using Boolean keyword operators should obviate internal parentheses. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] significance of escape character in string in PHP - MySQL
There's no need for it to be a flame war. The mysql extension is officially not recommended for writing new code, so anyone using it should be informed of this fact. I think it should consist of more than "don't use that," but at the very least that should cause the questioner to want to know why. http://php.net/intro.mysql This issue is problematic for exactly the reason Norah demonstrates above: "it's working." Great that in this case it hasn't been left at that, but most will see it work and think they've "got it right." I believe the community has a responsibility to give good advice and recommend best practices as well as directly addressing people's problems, so it's right that things like this get repeatedly pointed out where appropriate. -Stuart Stuart Dallas 3ft9 Ltd http://3ft9.com/ -- Thanks, didn't know about this. No doubt it's been general news for months or years but I see the PHP manual page you linked to was edited 3 days ago. Will have to see what ADOdb is doing - the last release I saw didn't support PDO_MySQL or mysqli. I googled and saw a first release of 5.5 will be this month? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Apache's PHP handlers
For the past week I've been trying to get to the bottom of an exploit, but googling hasn't been much help so far, nor has my service provider. Basically a file was uploaded with the filename xxx.php.pgif which contained nasty php code, and then the file was run directly from a browser. The upload script used to upload this file checks that the upload filename doesn't have a .php extension, which in this case it doesn't, so let it through. I was under the impression apache would serve any file with an extension not listed in its handlers directly back to the browser, but instead it sent it to the php handler. Is this normal behaviour or is there a problem with my service provider's apache configuration? Trying this on my localhost returns the file contents directly to the browser as expected and doesn't run the php code. Cheers Arno
RE: [PHP] Apache's PHP handlers
-Original Message- From: Ken Robinson [mailto:kenrb...@rbnsn.com] Sent: 19 September 2013 01:52 PM To: Cc: Subject: Re: [PHP] Apache's PHP handlers Check you .htaccess file. The hackers could have modified it to allow that type of file to be executed. I had some that modified my .htaccess file to go to a spam site when my site got a 404 error. That was nasty. Ken Sent from my iPad On Sep 19, 2013, at 7:35 AM, "Arno Kuhl" wrote: > For the past week I've been trying to get to the bottom of an exploit, > but googling hasn't been much help so far, nor has my service provider. > Basically a file was uploaded with the filename xxx.php.pgif which > contained nasty php code, and then the file was run directly from a > browser. The upload script used to upload this file checks that the > upload filename doesn't have a .php extension, which in this case it > doesn't, so let it through. I was under the impression apache would > serve any file with an extension not listed in its handlers directly > back to the browser, but instead it sent it to the php handler. Is > this normal behaviour or is there a problem with my service provider's > apache configuration? Trying this on my localhost returns the file > contents directly to the browser as expected and doesn't run the php code. > > > > Cheers > > Arno > S Hi Ken, .htaccess wasn't modified, this file was just uploaded and run. So far all my service provider has told me is it was because the filename contained ".php" in the filename, even though it's not the extension, and that's the reason apache sent it to the php handler. I'm sure that can't be right, otherwise it would be open to all sorts of exploits. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Apache's PHP handlers
> For the past week I've been trying to get to the bottom of an exploit, but > googling hasn't been much help so far, nor has my service provider. > Basically a file was uploaded with the filename xxx.php.pgif which contained > nasty php code, and then the file was run directly from a browser. The > upload script used to upload this file checks that the upload filename > doesn't have a .php extension, which in this case it doesn't, so let it > through. I was under the impression apache would serve any file with an > extension not listed in its handlers directly back to the browser, but > instead it sent it to the php handler. Is this normal behaviour or is there > a problem with my service provider's apache configuration? Trying this on > my localhost returns the file contents directly to the browser as expected > and doesn't run the php code. -- Arno, the php file hidden as a gif will indeed not execute if opened directly from your website. But if opened from a page hosted elsewhere with some code like require($path_to_your_image), the php code inside the image will be sent to the php handler and will be executed. Prevention is the best way to avoid hacking from image upload. Check the file extention and the file content before upload. Cheers. Steven -- Hi Steven, I agree the best way to avoid this is for the file upload script to check the file contents and that's something I'll have to sort out, currently it just checks the extension. But it's still a concern that a file with any arbitrary extension can be processed as php script as long as it has the text ".php" in the filename. I'm not worried about including the file because that would require pre-existing malicious php code, I want to prevent that malicious php code from running in the first place. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Apache's PHP handlers
Arno: If you can request that file using a web browser, and it gets executed as PHP on your server then there is an error in the Apache configuration. Easy test: create a file in a text editor containing some PHP ( would be enough) and upload it to the www root of your site and name it test.pgif. Then hit http://www.yourdomain.com/test.pgif in your browser. If you see the PHP code or an error then you're fine. If you see PHP's info page then you need to change web host as quickly as possible. I don't care if they fix it - the fact their server was configured to do this by default is enough for me to never trust them again. -Stuart -- Thanks Stuart. I just tried it now, test.php.pgif displayed the info while test.xyz.pgif returned the content, confirming the problem. My service provider finally conceded the problem is on their side and are looking for an urgent fix, much too complicated to consider moving service providers in the short term. As a side note, the sp said the issue is new and coincided with an upgrade to fastcgi recently, I wonder if the hacker was exploiting a known issue with that scenario? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Apache
On 23 Sep 2013, at 11:37, Domain nikha.org wrote: > Tamara Temple am Montag, 23. September 2013 - 06:49: >> >> GoDaddy's default plesk-generated configuration for FastCGI-served >> PHP > files only looked to see if the file contained ".php" somewhere on > it's path - i.e. it would happily execute 'malicilous.php.txt' as php > code, even something ridiculous like 'malware.phpnoreallyiwantthistorun'. >> > > Yes, looks stupid. > But my service prodider wrote me this, I quote: > ---QUOTE--- > This is because Apache offers features like language negotiation based > on extensions, too -- the final extension doesn't always just specify > the handler; it can specify other things. Apache can automatically > pick a German-language script from these, for example: > > file.php.de > file.php.en > > Whether this is a good idea or not is debatable. It's possible to set > things up in a different way (using FilesMatch instead of AddHandler) > to avoid this particular problem, but that breaks other things, so > there's no perfect solution. > > More generally, the real problem is that scripts are looking at the > final extension of uploaded files to decide whether they're safe or > not, which is dangerous. They're simply assuming that a ".gif" file > can't run a PHP interpreter, for example... which is usually true, but > certainly not always: some people run all their files through PHP. > ---END QUOTE--- This is somewhat daft. Yes, Apache offers this feature, but you don't need to configure it to work will all extensions. I'd be curious to know what their issue is with using FilesMatch, since that provides a way to disable this behaviour. And, honestly, who would have a PHP file per language? I think it's perfectly reasonable to not allow that, because duplicating PHP code across many files is an incredible stupid way to support multiple languages. "Some people run all their files through PHP" - true, but that doesn't mean they should, or that you, as a responsible web host, should be endorsing it. > The problem is the weak PHP upload mechanism! > As workaround my service provider tries to block suspicious filenames, > but the PHP developpers themself should work on this severe security > problem. PHP developers should absolutely validate all content coming in from users in every possible way, but I would be highly dubious about trusting a host who gives the reason above for what I consider a lax and insecure Apache configuration. It's like saying they sliced your arm off with their chainsaw because it's made for cutting things, attempting to dodge all responsibility for having swung it in your direction! -Stuart -- It seems this is the standard apache configuration, but that's no excuse. Googling returned many results where this was described as a major security threat e.g. "Beware of the default Apache 2 config for PHP" http://ilia.ws/archives/226-Beware-of-the-default-Apache-2-config-for-PHP.ht ml On that site the solution was to change AddHandler to AddType. My service provider is going the FilesMatch route. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Paging and permissions
I'm hoping some clever php gurus have been here before and are willing to share some ideas. I have a site where articles are assigned to categories in containers. An article can be assigned to only one category per container, but one or more containers. Access permissions can be set per article, per category and/or per container, for one or more users and/or user groups. If an article is assigned to 10 categories and only one of those has a permission denying access, then the article can't be accessed even if browsing through one of the other 9 categories. Currently everything works fine, with article titles showing when browsing through category or search result lists, and a message is displayed when the article is clicked if it cannot be viewed because of a permission. Now there's a requirement to not display the article title in category lists and search results if it cannot be viewed. I'm stuck with how to determine the number of results for paging at the start of the list or search. The site is quite large (20,000+ articles and growing) so reading the entire result set and sifting through it with permission rules for each request is not an option. But it might be an option if done once at the start of each search or list request, and then use that temporary modified result set for subsequent requests on the same set. I thought of saving the set to a temporary db table or file (not sure about overhead of serializing/unserializing large arrays). A sizing exercise based on the recordset returned for searches and lists shows a max of about 150MB for 20,000 articles and 380MB for 50,000 articles that needs to be saved temporarily per search or list request - in the vast majority of cases the set will be *much* smaller but it needs to cope with the worst case, and still do so a year down the line. All this extra work because I can't simply get an accurate number of results for paging, because of permissions! So my questions are: 1. Which is better (performance) for this situation: file or db? 2. How do I prepare a potentially very large data set for file or fast writing to a new table (ie I obviously don't want to write it record by record) 3. Are there any other alternatives worth looking at? TIA Cheers Arno
RE: [PHP] Paging and permissions
On Tue, 2011-02-08 at 14:36 +0200, Arno Kuhl wrote: I'm hoping some clever php gurus have been here before and are willing to share some ideas. I have a site where articles are assigned to categories in containers. An article can be assigned to only one category per container, but one or more containers. Access permissions can be set per article, per category and/or per container, for one or more users and/or user groups. If an article is assigned to 10 categories and only one of those has a permission denying access, then the article can't be accessed even if browsing through one of the other 9 categories. Currently everything works fine, with article titles showing when browsing through category or search result lists, and a message is displayed when the article is clicked if it cannot be viewed because of a permission. Now there's a requirement to not display the article title in category lists and search results if it cannot be viewed. I'm stuck with how to determine the number of results for paging at the start of the list or search. The site is quite large (20,000+ articles and growing) so reading the entire result set and sifting through it with permission rules for each request is not an option. But it might be an option if done once at the start of each search or list request, and then use that temporary modified result set for subsequent requests on the same set. I thought of saving the set to a temporary db table or file (not sure about overhead of serializing/unserializing large arrays). A sizing exercise based on the recordset returned for searches and lists shows a max of about 150MB for 20,000 articles and 380MB for 50,000 articles that needs to be saved temporarily per search or list request - in the vast majority of cases the set will be *much* smaller but it needs to cope with the worst case, and still do so a year down the line. All this extra work because I can't simply get an accurate number of results for paging, because of permissions! So my questions are: 1. Which is better (performance) for this situation: file or db? 2. How do I prepare a potentially very large data set for file or fast writing to a new table (ie I obviously don't want to write it record by record) 3. Are there any other alternatives worth looking at? TIA Cheers Arno How are you determining (logically, not in code) when an article is allowed to be read? Assume an article on "user permissions in mysql" is in a container called 'databases' and in a second one called 'security' and both containers are in a category called 'computers' Now get a user called John who is in a group called 'db admins' and that group gives him permissions to view all articles in the 'databases' container and any articles in any container in the 'computers' category. Now assume John also has explicit user permissions revoking that right to view the article in any container. What I'm getting at is what's the order of privilege for rights? Do group rights for categories win out over those for containers, or do individual user rights trump all of them overall? I think once that's figured out, a lot can be done inside the query itself to minimise the impact on the script getting the results. Thanks, Ash http://www.ashleysheridan.co.uk --- The simple structure is articles in categories, categories in containers, only one article per container/category, in one or more containers. If an article permission explicitly allows or denies access then the permission applies, otherwise the container/s and category/s permissions are checked. The permission checks user access first then group. A user can belong to multiple groups. There's no query to handle this that can return a neat recordset for paging. Currently the complete checks are only done for an article request. The category list only checks access to the category and the container it belongs to, so the list is either displayed in its entirety (including titles of articles that can't be viewed) or not at all, and obviously the paging works perfectly because the total number of titles is known up front and remains constant for subsequent requests. If I use read-ahead to make allowance for permissions and remove paging (just keep prev/next) the problem goes away. Or I could use "best-guess" paging, which could range from 100% accurate to 99% wrong. At first glance that's not really acceptable, but I noticed recently Google does the same thing with their search result
RE: [PHP] Paging and permissions
Instead of serializing the articles, you only need their IDs. Using $sql .= ' where id in (' . implode(',', $ids) . ')'; you can load the data for a page of results in a single query. Storing the IDs is much cheaper than the articles. If the permissions are fairly static (i.e. access for user X to article Y doesn't change every two minutes) you could create a calculated permission table as a many-to-many between user and article. Here's the logic flow for a query: 1. Run the query to find matching article IDs 2. Load permissions from table for all IDs 3. For each article without a calculated permission, calculate it and insert a row (do a batch insert to save time) If you flag the query in the middle tier as having been processed as above, you can join to the calculated permissions each time you need another page. The downside is that the code that runs the queries has to operate in two modes: raw and joined to the permissions. If most users end up querying for all articles, the table could grow. Plus you need to purge rows any time the permissions for an article/user changes which could get fairly complicated. David --- Storing only the IDs is way cheaper than storing the entire resultset, and I'd been thinking along the same lines. Getting a complete list of valid IDs in the first place is turning out to be a different matter. The permissions for article/user aren't that straight-forward, and in fact the most common permissions are group/category and group/container, where an article can be assigned to one or more category/containers. Using a temporary permission table could be the solution. Thanks. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Check for open file
> -Original Message- > From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] > Sent: Thursday, March 03, 2011 2:03 PM > To: sstap...@mnsi.net > Cc: php-general@lists.php.net > Subject: RE: [PHP] Check for open file > > > As far as I was aware, if you're in the middle of writing to a file > and another script was attempting to write to it, the OS would prevent > that as you had an open lock on it. > > -- > Thanks, > Ash > http://www.ashleysheridan.co.uk > And as it turned out, that was not the case. I started copying a 200MiB file from my desktop machine onto the Samba share. While that was copying, I got onto the server and tried to copy the file to /tmp and it happily did that for me without any indication that it was still being written to (which is was by the way.) So, that's not a good way of dealing with this. I think I'm going to have to go with a time delay function here ... -- There are potential problems using timing delays, and networking compounds them. It might be more robust to use some simple method outside of php to indicate a file is busy being copied, like using a reserved extension for the copy and then renaming to the proper filename after the copy is complete, or copying to a temp directory and then moving the file to the destination directory once copied (renames and moves take milliseconds). Assuming you're able to automate the copy process. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Dennis Ritchie, Father of Unix and C programming language, dead at 70
-Original Message- From: Daevid Vincent [mailto:dae...@daevid.com] Sent: 14 October 2011 12:08 AM To: php-general@lists.php.net Subject: [PHP] Dennis Ritchie, Father of Unix and C programming language, dead at 70 #include int main() { printf("R.I.P. Dennis Ritchie: 1941-2011\n"); return 0; } http://www.networkworld.com/news/2011/101311-ritchie-251936.html === He might have put it a bit differently: int main() { printf("Goodbye world\n"); return 0; } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Seeking strategy/algorithm for maintaining order of records
From: Stephen [mailto:stephe...@rogers.com] Sent: 16 October 2011 11:33 PM To: php-general@lists.php.net Subject: Re: [PHP] Seeking strategy/algorithm for maintaining order of records Displaying in an order is easy when you have a field called "order". SELECT descriptions FROM categories ORDER by order; My issue is, say I have three records: ID CategoryOrder 1B&W1 2Landscapes 2 3Nudes 3 I am looking for the best way to be able to change the values to ID CategoryOrder 1B&W3 2Landscapes 2 3Nudes 1 Dynamically building a form, entering the new order value, and then looping through the post, with a SQL UPDATE is the best I can come up with. A future issue will be doing the same to the table category-photograph ID Category_id photo_id order This table is needed to allow a photograph to be in more than one category. Cheers Stephen -- One way would be to use ajax. Each time a photo is moved up or down the order list you issue an ajax request to update the order. That way your php script only needs to deal with 2 records at a time and switch their order values. Besides that, I can't think of any way of processing a form with multiple order changes other than looping through the post the way you described. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] ip2long and ipv6
My dev and test tools are windows based and the apps deployed on linux, and it's been working well. But moving to win7 created problems because it uses ipv6 and code for ratings is for ipv4. Specifically, using ip2long to save the ip as an int (to prevent duplicate votes) doesn't work in test (win7/php5.3). I've got a quick-n-dirty workaround ("::1" converted to "0") but it seemed a good opportunity to add code to handle ipv6 properly when it's deployed. I found a reference to do that in the help (http://php.net/manual/en/function.ip2long.php), but the referenced site no longer exists. I also found a page where Daniel Brown mentions that user notes referencing external sites are normally removed (http://www.lmpx.com/nav/article.php/news.php.net/php.notes/177158/read/inde x.html) but that the note added enough value to make an exception. I'd be very grateful if anyone could please point me to any other record of this code, or could post it if they have a copy. Also, I'm assuming the code returns 2 ints because of the size of ipv6, and it's fine to change my code to store that, but I'd like to know if there's a standard way to store ip addresses in sql for quick lookup? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Getting knotted with quotes encoding
I've been battling with quotes encoding when outputting javascript with php. It can't be unique, so I'm hoping someone has a working solution they're willing to share. The following works perfectly as long as there aren't any single quotes in the link text: echo "$sTitle"; if $sTitle has the valueWhat's newit outputs: What's new It displays fine, but javascript complains with: Expected ')' linkmanager.php Line:525 Char:63 So I fix this by swapping the double and single quotes around: echo "$sTitle"; Now for that specific link it outputs: What's new And javascript is happy. But elsewhere there's a link Fred "Buster" Cox and it outputs: Fred "Buster" Cox Again it displays fine, but javascript complains with: Expected ')' linkmanager.php Line:743 Char:77 So it looks like I can't have links that include single quotes and double quotes, only one or the other. One work-around I thought of was to convert any link texts that included double quotes into single quotes when the content is posted, and it would then be displayed with single quotes even though the user entered double quotes. It's far from ideal but it would work, though I can think of a few situations where it would be quite confusing to the reader. Are there any other solutions that would allow both types of quotes without any conversions? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Getting knotted with quotes encoding - (one possible solution)
From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 13 March 2012 03:25 PM To: a...@dotcontent.net; php-general@lists.php.net Subject: Re: [PHP] Getting knotted with quotes encoding Arno Kuhl wrote: >I've been battling with quotes encoding when outputting javascript with >php. >It can't be unique, so I'm hoping someone has a working solution >they're willing to share. > >The following works perfectly as long as there aren't any single quotes >in the link text: > echo "class='linkSel'>$sTitle"; > >if $sTitle has the valueWhat's newit outputs: > What's new > >It displays fine, but javascript complains with: > Expected ')' linkmanager.php Line:525 Char:63 > > >So I fix this by swapping the double and single quotes around: > echo "class='linkSel'>$sTitle"; > >Now for that specific link it outputs: > What's new And javascript is happy. > >But elsewhere there's a link Fred "Buster" Cox and it outputs: > Fred "Buster" >Cox > >Again it displays fine, but javascript complains with: > Expected ')' linkmanager.php Line:743 Char:77 > > >So it looks like I can't have links that include single quotes and >double quotes, only one or the other. > >One work-around I thought of was to convert any link texts that >included double quotes into single quotes when the content is posted, >and it would then be displayed with single quotes even though the user >entered double quotes. It's far from ideal but it would work, though I >can think of a few situations where it would be quite confusing to the >reader. Are there any other solutions that would allow both types of >quotes without any conversions? > >Cheers >Arno > > >-- You aren't escaping the quotes correctly when they go into your output. You're escaping them for html not javascript. Javascript (like php) escapes single quotes inside a single quote string with a back slash. Thanks, Ash http://ashleysheridan.co.uk - Thanks for that Ashley. You're right about the encoding. I had a line prior to that: $sTitle = htmlentities($title, ENT_QUOTES, 'ISO-8859-1', FALSE); Which encoded the quotes. I couldn't find anything so made a function, which might be useful for others. It’s a first shot, I'm sure there are ways to improve performance. I also changed the encoding to exclude single quotes. (I'm sure the indenting will get screwed up in the mail) $sTitle = fixSingleQuotes(htmlentities($title, ENT_COMPAT, 'ISO-8859-1', FALSE)); . // convert single quotes to curly quotes, xml compliant // assumes apostrophes must be between 2 alpha chars // and any other ' is a single quote // ‘ = left single quote // ’ = right single quote and apostrophe function fixSingleQuotes($sText) { if (strpos($sText, "'") !== FALSE) { // there are quotes to convert $bOpenQuote = FALSE; $arrAlpha = explode(' ', "a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"); $arrText = str_split($sText); while (($pos = strpos($sText, "'")) !== FALSE) { if ($pos == 0) { // must be an open quote in first pos $sText = "‘".substr($sText, 1); $bOpenQuote = TRUE; } else { if (in_array($arrText[$pos-1], $arrAlpha) AND in_array($arrText[$pos+1], $arrAlpha)) { // apostrophe $quote = "’"; } else { // quote if (!$bOpenQuote) { $quote = "‘"; $bOpenQuote = TRUE; } else { $quote = "’"; $bOpenQuote = FALSE; } } $sText = substr($sText, 0, $pos).$quote.substr($sText, $pos+1); } } } return ($sText); } //fixSingleQuotes() Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Getting knotted with quotes encoding - (one possible solution)
-Original Message- From: tamouse mailing lists [mailto:tamouse.li...@gmail.com] Sent: 19 March 2012 10:28 AM To: php-general@lists.php.net Subject: Re: [PHP] Getting knotted with quotes encoding - (one possible solution) On Sun, Mar 18, 2012 at 10:19 PM, Tamara Temple wrote: > On Tue, 13 Mar 2012 16:35:44 +0200, Arno Kuhl sent: > >> From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] >> Sent: 13 March 2012 03:25 PM >> To: a...@dotcontent.net; php-general@lists.php.net >> Subject: Re: [PHP] Getting knotted with quotes encoding >> >> >> Arno Kuhl wrote: >> >>> I've been battling with quotes encoding when outputting javascript >>> with php. >>> It can't be unique, so I'm hoping someone has a working solution >>> they're willing to share. >>> >>> The following works perfectly as long as there aren't any single >>> quotes in the link text: >>>echo ">> class='linkSel'>$sTitle"; >>> >>> if $sTitle has the valueWhat's newit outputs: >>>>> onclick="insertLink('article/whats-new.html','What's >>> new')" class='linkSel'>What's new >>> >>> It displays fine, but javascript complains with: >>>Expected ')' linkmanager.php Line:525 Char:63 >>> >>> >>> So I fix this by swapping the double and single quotes around: >>>echo ">> class='linkSel'>$sTitle"; >>> >>> Now for that specific link it outputs: >>>>> onclick='insertLink("article/whats-new.html","What's >>> new")' class='linkSel'>What's new And javascript is happy. >>> >>> But elsewhere there's a link Fred "Buster" Cox and it outputs: >>>>> onclick='insertLink("article/fred-buster-cox.html","Fred >>> "Buster" Cox")' class='linkSel'>Fred "Buster" >>> Cox >>> >>> Again it displays fine, but javascript complains with: >>>Expected ')' linkmanager.php Line:743 Char:77 >>> >>> >>> So it looks like I can't have links that include single quotes and >>> double quotes, only one or the other. >>> >>> One work-around I thought of was to convert any link texts that >>> included double quotes into single quotes when the content is >>> posted, and it would then be displayed with single quotes even >>> though the user entered double quotes. It's far from ideal but it >>> would work, though I can think of a few situations where it would be >>> quite confusing to the reader. Are there any other solutions that >>> would allow both types of quotes without any conversions? >>> >>> Cheers >>> Arno >>> >>> >>> -- >> >> >> You aren't escaping the quotes correctly when they go into your output. >> You're escaping them for html not javascript. Javascript (like php) >> escapes single quotes inside a single quote string with a back slash. >> >> >> Thanks, >> Ash >> http://ashleysheridan.co.uk >> - >> >> Thanks for that Ashley. >> You're right about the encoding. >> I had a line prior to that: >>$sTitle = htmlentities($title, ENT_QUOTES, 'ISO-8859-1', >> FALSE); Which encoded the quotes. >> >> >> I couldn't find anything so made a function, which might be useful >> for others. >> It’s a first shot, I'm sure there are ways to improve performance. >> I also changed the encoding to exclude single quotes. >> (I'm sure the indenting will get screwed up in the mail) >> >> >> $sTitle = fixSingleQuotes(htmlentities($title, ENT_COMPAT, >> 'ISO-8859-1', FALSE)); >> >> . >> >> >> / >> /// // convert single quotes to curly quotes, xml compliant >> // assumes apostrophes must be between 2 alpha chars // and any other >> ' is a single quote // ‘ = left single quote // ’ = right >> single quote and apostrophe function fixSingleQuotes($sText) { >>if (strpos($sText, "'") !== FALSE) { >>// there are quotes to convert >>$bOpenQuote = FALSE; &
[PHP] foreach weirdness
The following snippet is copied from the php manual: foreach ($arr as $key => $value) { echo "Key: $key; Value: $value\n"; } I've always used the foreach loop that way. But recently I started hitting some really odd problems. See this following example that illustrates the problem: $array = array(0, 1, 2, 3, 4, 5, 6); foreach ($array as $index=>$value) { if ( ($index+1) < count($array) ) { $array[$index+1] += $value; } echo $value." "; } echo ""; foreach ($array as $index=>$value) { echo $value." "; } You'd expect the output to be: 0 1 3 6 10 15 21 0 1 3 6 10 15 21 But it's actually: 0 1 2 3 4 5 6 0 1 3 5 7 9 11 If you assign the $value by reference in the first loop as someone pointed out (and confirmed by the manual: "As of PHP 5, you can easily modify array's elements by preceding $value with &. This will assign reference instead of copying the value") $array = array(0, 1, 2, 3, 4, 5, 6); foreach ($array as $index=>&$value) {// <- assign $value by reference if ( ($index+1) < count($array) ) { $array[$index+1] += $value; } echo $value." "; } echo ""; foreach ($array as $index=>$value) { echo $value." "; } it still does not produce the correct result: 0 1 3 6 10 15 21 0 1 3 6 10 15 15 If I watch the $array in a debugger I see odd behaviour for the last element $array[6] when stepping through the second foreach loop. Just before entering the second loop $array[6] == 21 which is correct. When I move to the next line (echo $value." ";) $array[6] changes to 0 !! As I step through the second loop $array[6] keeps on changing for each iteration, with the following values: 0, 1, 3, 6, 10, 15, 15 And once I've left the second loop $array[6] is permanently changed from 21 to 15, even though there's no code in the second loop to change $array[6]. So what's going on here? I confirm this by echoing $array[6] in each iteration in the second loop: $array = array(0, 1, 2, 3, 4, 5, 6); foreach ($array as $index=>&$value) { if ( ($index+1) < count($array) ) { $array[$index+1] += $value; } echo $value." "; } echo ""; foreach ($array as $index=>$value) { echo $array[6]." "; } echo ""; echo $array[6]; the result is: 0 1 3 6 10 15 21 0 1 3 6 10 15 15 15 Note that $array[6] is still 15 even after completing the second foreach loop. If you break out of the second loop then $array[6] will be at whatever value it was at the time you break out (ouch!) If you assign the $value by reference in the second loop as well: $array = array(0, 1, 2, 3, 4, 5, 6); foreach ($array as $index=>&$value) { if ( ($index+1) < count($array) ) { $array[$index+1] += $value; } echo $value." "; } echo ""; foreach ($array as $index=>&$value) {// <- assign $value by reference echo $array[6]." "; } echo ""; echo $array[6]; you finally get the correct result: 0 1 3 6 10 15 21 21 21 21 21 21 21 21 21 You can test this with multiple foreach loops and get the same results. If you modify the array in the first foreach loop, then use an assign $value by reference in the next 9 foreach loops to get the correct values (without modifying the array), and then in the 10th foreach loop you don't use an assign $value by reference (without modifying the array), the array becomes corrupted. I sort of understand the need to assign the $value by reference in the first loop, but why is it also required in every subsequent loop where the array is not being modified? Especially since all the examples in the manual show it's not needed? It would appear that once you've modified an array's elements in a foreach loop you always have to assign $value by reference in any subsequent foreach loop using that array. And if you don't, not only will you get the wrong results but the array itself is actually altered, even if there's no code in the loop to alter it. Is that correct or is it a bug? At what stage can you start using the array in the "normal" way again? That could create hair-pulling havoc for anyone maintaining code if they haven't noticed that somewhere previously there was code that modified the array in a foreach loop. Maybe the answer is to always assign $value by reference in a foreach loop regardless of what you do in that loop, but I'm not sure what the implications are. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] foreach weirdness
-Original Message- From: Robert Cummings [mailto:rob...@interjinn.com] Sent: 23 March 2012 06:11 PM To: a...@dotcontent.net Cc: php-general@lists.php.net Subject: Re: [PHP] foreach weirdness On 12-03-23 11:16 AM, Arno Kuhl wrote: > The following snippet is copied from the php manual: > foreach ($arr as $key => $value) { > echo "Key: $key; Value: $value\n"; } > > I've always used the foreach loop that way. > But recently I started hitting some really odd problems. > > See this following example that illustrates the problem: > $array = array(0, 1, 2, 3, 4, 5, 6); > foreach ($array as $index=>&$value) {//<- assign $value by reference > if ( ($index+1)< count($array) ) { > $array[$index+1] += $value; > } > echo $value." "; > } > echo ""; > foreach ($array as $index=>$value) { > echo $value." "; > } > > it still does not produce the correct result: > 0 1 3 6 10 15 21 > 0 1 3 6 10 15 15 This looks like a bug... the last row should be the same. What version of PHP are you using? Have you checked the online bug reports? . -- Hi Rob I'm using php 5.3.5. What result do you get when you run this code? I haven't checked any bug reports, I'll google to see where I would do that. Your code gets round the problem, but I was specifically referring to the use of foreach with its unexpected side-effects. There are a few different designs like look-ahead where it seemed the obvious way to go. I know I've used this type of foreach coding in the past, and have this nagging feeling there's a whole bunch of code just waiting to explode. I always just assumed it worked because it's pretty simple. I'd previously been caught out forgetting the assign by reference in the foreach loop that modified the array but I always caught it long before it went live, but I never considered having to also use assign by reference in subsequent foreach loops because it so obviously wasn't necessary. Now I'm searching through my scripts to see if there are any potential problems caused by this (already found one), and wondering what else I've done where I no longer have access to the sources. BTW I'm told on another forum this issue has been discussed multiple times on this mailing list - did I miss it? Was there a resolution? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] foreach weirdness
> See this following example that illustrates the problem: > $array = array(0, 1, 2, 3, 4, 5, 6); > foreach ($array as $index=>$value) { > if ( ($index+1) < count($array) ) { > $array[$index+1] += $value; > } > echo $value." "; > } > echo ""; > foreach ($array as $index=>$value) { > echo $value." "; > } > > You'd expect the output to be: > 0 1 3 6 10 15 21 > 0 1 3 6 10 15 21 > > But it's actually: > 0 1 2 3 4 5 6 > 0 1 3 5 7 9 11 Hey, the ouput you get is right. If you want your ouput you have to rewrite your code. Currently you are adding the value of the current index to the next indexes value (e.g. $array[0] + $array[1]; $array[1] + $array[2]; etc.). As I understand it you want to add the current value with the next index (e.g. $array[0] + 1; $array[1] + 2; $array[2] + 3). -- Hi Stephan, the first foreach loop adds the next value to the current value, not the next index. The reason you don't get the expected result in the first foreach loop is because you need to assign the $value by reference, as per the php manual foreach ($array as $index=>&$value) But then to get the correct output from the second simple foreach loop, you also have to assign the $value by reference, contrary to the php manual. If you don't you get the wrong result and the array becomes corrupted. That could be classified as a bug, or at least the manual needs to elaborate on using a foreach when you assign the $value by reference. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] foreach weirdness
From: Simon Schick [mailto:simonsimc...@googlemail.com] Sent: 24 March 2012 12:30 AM To: Robert Cummings Cc: a...@dotcontent.net; php-general@lists.php.net Subject: Re: [PHP] foreach weirdness 2012/3/23 Robert Cummings > > On 12-03-23 11:16 AM, Arno Kuhl wrote: >> >> >> it still does not produce the correct result: >> 0 1 3 6 10 15 21 >> 0 1 3 6 10 15 15 > > > This looks like a bug... the last row should be the same. What version > of PHP are you using? Have you checked the online bug reports? > > Hi, Robert Does not seem like a bug to me ... http://schlueters.de/blog/archives/141-References-and-foreach.html What you should do to get the expected result: Unset the variable after you don't need this reference any longer. Bye Simon -- Hi Simon, unsetting the $value does fix the problem, but I found that any time you assign $value by reference in a foreach loop you have to do an unset to avoid corrupting the array unless you continue to assign $value by reference (as illustrated in the article you linked). So doing something as simple as: $array = array(0, 1, 2, 3, 4, 5, 6); foreach ($array as $key=>&$value) { echo "Key: $key; Value: $value\n"; } and then follow with (from the php manual): foreach ($array as $key=>$value) { echo "Key: $key; Value: $value\n"; } will not only give the wrong result, it will corrupt the array for *any* further use of that array. I still think it’s a bug according to the definition of foreach in the php manual. Maybe php needs to do an implicit unset at the closing brace of the foreach where was an assign $value by reference, to remove the reference to the last element (or whatever element it was pointing to if there was a break) so that it doesn't corrupt the array, because any assign to $value after the foreach loop is completed will corrupt the array (confirmed by testing). The average user (like me) wouldn't think twice about reusing $value after ending the foreach loop, not realising that without an unset the array will be corrupted. BTW thanks for that reference, it was quite an eye-opener on the pitfalls of using assign by reference, not only in the foreach loop. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] foreach weirdness
Requesting that will at least require a major-release (f.e. PHP 6.0) ... but I would rather request to add a notice or warning to the documentation of references to remind stuff like that. http://www.php.net/manual/en/language.references.php I think this is stuff more people will stumble over ... Bye Simon -- I agree it would be wrong to change php's handling of call by reference in foreach loops because there may be a need to access that reference after completing the loop. I was going to suggest there should be a warning in the manual to unset the reference after the foreach loop is completed, but I see the current online manual has that warning prominently displayed on the foreach page. I had a version of the manual from July last year that didn't have the warning, so I'll update my local manual and make sure I keep it up to date. Lesson learned (both manual and foreach references). Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] foreach weirdness
Note that somewhat similar error was discussed on this list a few months ago[1]. You could probably have solved it yourself if you searched the mailing list archives. - Matijn [1] http://www.mail-archive.com/php-general@lists.php.net/msg269552.html --- Thanks Matijn, I missed that discussion, not following the list that actively. I'll try search next time before raising an issue. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Watch out for automatic type casting
I found automatic typecasting can be a bit of a gotcha. $sText = "this.is.a.test.text"; if ( $pos = strpos($sText, "test") !== FALSE) { echo substr($sText, 0, $pos)."<".substr($sText, $pos, strlen("test")).">".substr($sText, $pos+strlen("test")); } The code seems logical enough, and the expected result would be: this.is.a..text In fact it ends up being: tis.a.test.text The reason is $pos is typecast as TRUE, not int 10, presumably because it's in the same scope as the boolean test. Then when $pos is later used as an int it's converted from TRUE to 1. You have to bracket the $pos setting to move it into its own scope to prevent it being typecast: if ( ($pos = strpos($sText, "test")) !== FALSE) { No doubt it's mentioned somewhere in the php manual, I just never came across it. Just thought I'd highlight one of the gotchas of auto typecasting for any other simpletons like me. Cheers Arno
RE: [PHP] Watch out for automatic type casting
-Original Message- From: Simon Schick [mailto:simonsimc...@googlemail.com] Sent: 29 March 2012 07:19 PM To: a...@dotcontent.net Cc: php-general@lists.php.net Subject: Re: [PHP] Watch out for automatic type casting Hi, Arno FYI: I found a page in the php-manual that's exactly for that: http://www.php.net/manual/en/language.operators.precedence.php p.s. some of them were also new to me Thanks for getting me to read it. Bye Simon Thanks Simon and others, thought it was typecasting, but precedence makes more sense. I remember seeing that table when I first started using php, which is why I always use AND and OR rather than && and || because it's lower precedence than the assignment and the ternary operators, but I couldn't remember where I'd seen it. So thanks for linking to it. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Watch out for automatic type casting
-Original Message- From: Simon Schick [mailto:simonsimc...@googlemail.com] Sent: 29 March 2012 07:19 PM To: a...@dotcontent.net Cc: php-general@lists.php.net Subject: Re: [PHP] Watch out for automatic type casting Hi, Arno FYI: I found a page in the php-manual that's exactly for that: http://www.php.net/manual/en/language.operators.precedence.php p.s. some of them were also new to me Thanks for getting me to read it. Bye Simon Thanks Simon and others, thought it was typecasting, but precedence makes more sense. I remember seeing that table when I first started using php, which is why I always use AND and OR rather than && and || because it's lower precedence than the assignment and the ternary operators, but I couldn't remember where I'd seen it. So thanks for linking to it. Cheers Arno -- BTW interesting to note on that precedence page that "!" has a higher precedence than "=" (which you'd expect it to be) but you can still do if (!$a = foo()) I use that form often (as I'm sure many others do) and just took it for granted that it works even though the order of precedence says it shouldn't. It could be expanded to if ($a = foo() != TRUE) But that wouldn't get the expected result due to order of precedence, though at first glance you could reasonably expect it to work because of if (!$a = foo()) being valid. I think that's why it's so easy to be caught out (at least for me) by the similar form of if ( $pos = strpos($sText, "test") !== FALSE) Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Generating foldout menus in php
This may not be directly php related but I'm hoping that generating the code with PHP will keep it on topic. I'm looking for a way to generate dropdown/foldout menus (horizontal and vertical) on the fly, but all the javascript solutions I've seen use absolute or relative pixel positioning, which means I can't use them because I don't know at the time of generating a specific menu item how many pixels across or down the preceding items have already used. I'm currently using a javascript menu that works really well, but all the top-level menu items have to be preset with specific x-y pixel coordinates, and all the subsequent items are then relative to the top-level items. So I can generate the second-level and subsequent items on the fly but not the top-level items. Is there a way to use css or dhtml or something else (maybe something in javascript that I missed) to do this? Thanks Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Generating foldout menus in php
> I'm looking for a way to generate dropdown/foldout menus (horizontal > and > vertical) on the fly, but all the javascript solutions I've seen use > absolute or relative pixel positioning, which means I can't use them > because I don't know at the time of generating a specific menu item > how many pixels across or down the preceding items have already used. > I'm currently using a javascript menu that works really well, but all > the top-level menu items have to be preset with specific x-y pixel > coordinates, and all the subsequent items are then relative to the > top-level items. So I can generate the second-level and subsequent > items on the fly but not the top-level items. Is there a way to use > css or dhtml or something else (maybe something in javascript that I missed) to do this? Is this: http://www.phpguru.org/static/dynContext.example.html what you mean? -- Richard Heyes -- Thanks for the reference Richard. dynContext looks pretty good and is similar to what I'm already using, but it looks like it also uses x-y coordinates for the top-level item (looking at the show() function, unless I misunderstood the manual). I had problems making it work on my local machine. The annotated.example.html displayed an error code (I presume) on right click. BTW I stumbled across cssplay in my search and think it may be the solution. Just trying to figure if lack of support for IE5 is a problem or not (supports IE5.5 etc and all other browsers). Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Generating foldout menus in php
>This may not be directly php related but I'm hoping that generating the >code with PHP will keep it on topic. > >I'm looking for a way to generate dropdown/foldout menus (horizontal >and >vertical) on the fly, but all the javascript solutions I've seen use >absolute or relative pixel positioning, which means I can't use them >because I don't know at the time of generating a specific menu item how >many pixels across or down the preceding items have already used. I'm >currently using a javascript menu that works really well, but all the >top-level menu items have to be preset with specific x-y pixel >coordinates, and all the subsequent items are then relative to the >top-level items. So I can generate the second-level and subsequent >items on the fly but not the top-level items. Is there a way to use css >or dhtml or something else (maybe something in javascript that I missed) to do this? > >Thanks >Arno Arno: There's really no way to do this just using php. I can envision a way to use php with a couple of other languages to provide drop-down and pop-out menus, but that would be more complicated than just using css with js, like so: http://sperling.com/examples/menuh/ http://sperling.com/examples/menuv/ Why complicate your life? Cheers, tedd -- Hi tedd Thanks, that's pretty much what I was looking for. I found something similar at cssplay, except the examples I saw didn't use .htc file. Like your examples the cssplay code only runs on IE5.5 and up (and other browsers). Not sure yet if that would be a problem. I don't have IE5 to test with, so I don't know if there's a graceful fallback that would still allow the user to navigate. As you said, it doesn't look like there's a solution to fit all browsers and versions. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] IDE
-Original Message- From: William Betts [mailto:[EMAIL PROTECTED] Sent: 16 November 2007 05:13 To: [EMAIL PROTECTED] Cc: David Giragosian; php-general@lists.php.net Subject: Re: [PHP] IDE Have you ever used Zend Studio? If so how does it compare to PhpED? --- I've tried Zend Studio a few times, but I certainly can't say I'm familiar with it enough to give any real comparison. I looked at the Zend tools pretty closely 4 years ago, and quite superficially a couple of times since then. I found ZS slow and cumbersome, and not very intuitive (probably due to unfamiliarity more than anything else). I'm sure each has it's strengths and weaknesses. I decided on PhpED because (a) it was fast and intuitive and I felt comfortable with it straight away, coming from c dev background using IBM dev tools, (b) it had everything I expected in an IDE and more, (c) the response from NuSphere and the forums was quick, (d) it was much cheaper than ZS. Since making the choice I find PhpED very stable, and the updates are frequent with real useful new features and functionality. The latest version has a feature I requested a few months ago so the developers are generally good at listening to feedback and requests. And the debugger is excellent. PhpED is the single most important dev tool I have and well worth the investment, and I'm not sure the extra cost for ZS would have given me any extra value. But I'm sure there are many ZS users who would disagree. Best advice is do what I did - download both trial versions and give them a thorough test yourself. What you feel comfortable with is likely different to what I feel comfortable with. Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] IDE
-Original Message- From: David Giragosian [mailto:[EMAIL PROTECTED] Sent: 16 November 2007 05:21 To: php-general@lists.php.net Subject: Re: [PHP] IDE On 11/15/07, Jammer <[EMAIL PROTECTED]> wrote: > > Børge Holen wrote: > > On Thursday 15 November 2007 21:35:04 Jammer wrote: > >> Hi All, > >> > >> This is my first post here ... I'm very much a newbie to php but > >> work during the day using SQL Server, VS2005 and Foxpro. Looking > >> to gen up on my PHP. > >> > >> Are there any IDE's for PHP worth checking out. Particularly free > ones! > >> > >> TIA, > >> > >> -- > >> jammer > >> www.jammer.biz > > > > I LOVE this IDE quiz' > > the same answers everytime. > > duh! > > look, i'm really sorry everyone ... we all make mistakes! > > if this is a question that comes up as often as it appears from the > responses this thread has generated maybe the FAQ needs to *really* > address that? > > http://uk3.php.net/FAQ.php > > -- > jammer > It's OK. I think there's been a long thread on the subject each of the last two weeks. The folks who are really passionate about their IDE's jump in first, then those less motivated or less interested add theirs, then it seems to die for a day or so before it rises from the ashes to sputter and hiccup a time or two. And then it starts all over, again. If you stick around long enough on this list, you'll be fussin' at the question, too. David -- I think jammer's idea is a good one. I've been lurking on this list for years and seen many resurrections of the IDE thread. It's an important thread, and the PHP IDE world is ever changing and new products come onto the scene every now and then. I use my favourite commercial IDE but quite frequently check out the other IDE's mentioned in those threads, mostly to confirm the choice I made 4 years ago is still the right one. A well-maintained list of free and commercial PHP IDE's on the php.net site would be a great idea, especially if it also had links to reviews, and also included the mix-n-match IDE's I see some people on the list use. And/or maybe a forum on php.net dedicated to PHP IDE's, with user polls. Then whenever the IDE thread pops up the response would be to look at the web site (RTFWS). The only downside might be the resources to run it. BTW jammer, if you start using php for big projects I'd recommend NuSphere PhpED, but it's overkill if you just want to dabble. There's a trial version if you want to check it out, and a good tip is they drop the price every now and then for promotions (wish I knew that 4 years ago). Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] PHP date: ISO year = loss of hair
I'm battling with getting the last week number using date(W, $unixdate). If the date is 30 December 2007 ($unixdate=1198965600) then date(W, $unixdate) returns 01. I know that according to the ISO spec, the last week of the ISO year has 28 December in it, so in this particular case the last week number of the ISO year is 52. However 30 December is in the following week, week 53. How do I get the correct value of 53 for 30 December 2007? I'm thinking along the lines of: if the date is greater than 28 December then use the week number of 28 December; then check every day between 28 December and the date to see if a Sunday occurs and if so add one to the week number. It looks like it will work but seems ridiculously laboured for such a simple issue. Am I overlooking something obvious here - is there something I've missed about PHP date? Any pointers would be greatly appreciated. Thanks Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP date: ISO year = loss of hair
-Original Message- From: tedd [mailto:[EMAIL PROTECTED] Sent: 14 December 2007 04:50 To: [EMAIL PROTECTED]; php-general@lists.php.net Cc: Arno Kuhl Subject: Re: [PHP] PHP date: ISO year = loss of hair At 10:02 AM +0200 12/14/07, Arno Kuhl wrote: >I'm battling with getting the last week number using date(W, >$unixdate). If the date is 30 December 2007 ($unixdate=1198965600) Not accordingly to my calculations -- try it: http://webbytedd.com/c/unix-time/ Cheers, tedd -- --- http://sperling.com http://ancientstones.com http://earthstones.com -- The standard date calculations don't show a week number. If you use 1198965600 as the decimal seconds in your form you'll see that the human date is 30 December 2007 12:00:00. But if you try date(W, 1198965600) you'll get a value of 01 for the week number. This conforms to the ISO date standards, but it doesn't help much when you're trying to calculate the real week number. Luckily (?) this year is a bit of a fluke or I might not have detected this error in my script - the next time it happens is in 2012. I fixed it by taking the long code route: use the week number for December 28 if the date is > December 28 , check for a sunday between December 28 and the date and increment the week number. I now get week 53 for 30 December 2007. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] PHP date: ISO year = loss of hair
-Original Message- From: Andrew Ballard [mailto:[EMAIL PROTECTED] Sent: 14 December 2007 04:38 To: PHP General list Subject: Re: [PHP] PHP date: ISO year = loss of hair If the last week of the year is the one that has Dec. 28 in it, and the last week number is 52, then Dec. 30 SHOULD return 1. Dec. 30 is not in the 53rd week of 2007; it is in the first week of 2008 according to the ISO, so a week number of 1 is correct. Andrew -- You're right. I didn't spell out what I was doing. My script calculates week 53 for 30 December 2007 (at least now it does), week 54 for 9 January 2008, week 55 for 16 January 2008 etc, if I start calculating from some date in 2007. It calculates the number of weeks between dates. The problem was if I specifically used 30 or 31 December 2007 in the calculation it fell over - if the end date was 30/31 Dec 07 I got 52 weeks less than the actual count, and if the start date was 30/31 Dec 07 I got 52 weeks more than the actual count. All the other dates worked fine, and would have worked fine for the next 4 years. The next time "week 53" occurs is in 2012. Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Conditional popup driven from server-side
I know popup windows are a client-side issue, but I can't figure how to create and close a popup window from the server side only on condition, otherwise display normal browser page. What I want is to accept a form, check the input, if there are errors return them to the browser, if there aren't errors then popup a modal window and start processing (a possibly long process) while displaying results in the popup window, then automatically close the popup after processing is complete and redirect to normal browser page with the final results. I want to use the popup to (a) feedback ongoing progress to the user, and (b) keep the browser side alive because the process could take several minutes. Googling for +php +popup is getting me nowhere, all the results are for javascript. I know how to create a link or button that when clicked will create a popup that will display the results of a php script, but I need to do it the other way round. Can anyone please suggest some pointers on how to generate a conditional popup from the server, and then get the server to close it when done. Thanks Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Conditional popup driven from server-side
Arno Kuhl <[EMAIL PROTECTED]> wrote: > I know popup windows are a client-side issue, but I can't figure how > to create and close a popup window from the server side only on > condition, otherwise display normal browser page. > > What I want is to accept a form, check the input, if there are errors > return them to the browser, if there aren't errors then popup a modal > window and start processing (a possibly long process) while displaying > results in the popup window, then automatically close the popup after > processing is complete and redirect to normal browser page with the > final results. I want to use the popup to (a) feedback ongoing > progress to the user, and (b) keep the browser side alive because the process could take several minutes. > > Googling for +php +popup is getting me nowhere, all the results are > for javascript. I know how to create a link or button that when > clicked will create a popup that will display the results of a php > script, but I need to do it the other way round. Can anyone please > suggest some pointers on how to generate a conditional popup from the > server, and then get the server to close it when done. > > Thanks > Arno That's because it is a CLIENT side issue, the server isn't able to do it. If you want to provide feedback on the form, then look into Ajax or use output buffering and flushing to push out a status message as the form is processed. You could do this in a javascripted pop-up window or on the window they submitted the form. If it takes your script minutes to process a form you need to look into your processes. I'd suggest verifying the form had all the pieces and then advising them you will email them when the registration or what-not is complete. HTH, Wolf === I fully understand this is a client side issue, but figured there may be a way for the server to drive it using smoke and mirrors. For instance if the input is ok I thought of redisplaying the completed form with an onload to popup a modal window, then output progress to the window until the process was finished, then send something to the window to close itself. But after that I get stuck because I don't know how to make the underlying browser page request the final results from the server, or have some way for the php script to push the results to the page without a request. Or maybe it's all javascript, with the browser page waiting for the window to close before requesting the results? (though I see some timing issues with that solution, unless I create a temp results page waiting for the browser's request). Has anyone on the list done anything like this, or have any pointers, examples or ideas? (BTW Wolf's suggestion of sending the results via email is not an option in this case) Thanks Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Problem with script timing out in php 4.4.8
I recently picked up an issue when I upgraded my IDE, where the browser window timed out while I was debugging the code. I checked with support and was told the problem was with php 4.4.8 which they'd upgraded to, so to confirm I installed 4.4.8 and ran a test - and it seems there is a problem with 4.4.8. The test was: change max_execution_time from 30 to 600 in php.ini - phpinfo confirms max_execution_time=600 Test timeout - sleep for $t seconds"; echo "sleeping ".date('h:i:s').""; sleep($t); echo "stop sleeping ".date('h:i:s'); ?> $t=59 works fine, but $t=70 times out. (Windows 2000, Apache Release 10324100) I ran the same test successfully with $t=500 seconds on a different machine running php 4.3.4, everything else the same as the original test pc. What bothers me a bit is 4.4.8 has been available since February and checking the archives I see no-one else has reported this problem, which seems highly unlikely, so I'm wondering if this is specific only to my environment somehow. Has anyone else had problems with max_execution_time in 4.4.8? Cheers Arno -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Problem with script timing out in php 4.4.8
The fact that 59 seconds worked suggested the ini settings was in effect, otherwise it would have timed out after 30 seconds (default ini setting). But I also tested your suggestion: Test timeout - sleep for $t seconds"; echo "max execution time set to ".ini_get("max_execution_time").""; echo "sleeping ".date('h:i:s').""; sleep($t); echo "stop sleeping ".date('h:i:s'); ?> ?> Same result, $t=59 works but $t=70 times out Cheers Arno -Original Message- From: Ólafur Waage [mailto:[EMAIL PROTECTED] Sent: 04 June 2008 11:19 To: php-general@lists.php.net Subject: Re: [PHP] Problem with script timing out in php 4.4.8 Could you try setting the max_execution_time with ini_set and confirming the status of it with ini_get ? - Waage 2008/6/4 Arno Kuhl <[EMAIL PROTECTED]>: > I recently picked up an issue when I upgraded my IDE, where the > browser window timed out while I was debugging the code. I checked > with support and was told the problem was with php 4.4.8 which they'd > upgraded to, so to confirm I installed 4.4.8 and ran a test - and it > seems there is a problem with 4.4.8. > > The test was: > > change max_execution_time from 30 to 600 in php.ini - phpinfo confirms > max_execution_time=600 > > $t=70; > echo "Test timeout - sleep for $t seconds"; echo "sleeping > ".date('h:i:s').""; sleep($t); echo "stop sleeping > ".date('h:i:s'); ?> > > $t=59 works fine, but $t=70 times out. > > (Windows 2000, Apache Release 10324100) > > I ran the same test successfully with $t=500 seconds on a different > machine running php 4.3.4, everything else the same as the original test pc. > > What bothers me a bit is 4.4.8 has been available since February and > checking the archives I see no-one else has reported this problem, > which seems highly unlikely, so I'm wondering if this is specific only > to my environment somehow. Has anyone else had problems with > max_execution_time in 4.4.8? > > Cheers > Arno > > > -- > PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: > http://www.php.net/unsub.php > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] Forum coded in PHP with mail and news gateway
Not sure about the gateways but you can look at www.phpbb.com -Original Message- From: Michelle Konzack [mailto:[EMAIL PROTECTED] Sent: 11 June 2008 04:52 To: PHP - General Subject: [PHP] Forum coded in PHP with mail and news gateway Hello, because it is actual for me while having some problems with Ubuntu's LAUNCHPAD (does not support threating) I like to know, whether there is a light Forum software written in PHP availlable. It should support: 1) PostgreSQL (my own database) 2) MySQL (my current hosting provider offer it only) 3) Threating 4) Gateway to mailinglist including threating 5) Gateway to usenet including threating 6) Subscriber only 7) Scanning for SPAM :-D I like to install it on my "devel" website and have the need for a category for each software package I have. So it is not a big thing with currently 61 packages bu maybe increase to arround 150. My current mailinglist software is "courier-mlm" which works nicely. Any suggestions? Thanks, Greetings and nice Day/Evening Michelle Konzack Systemadministrator 24V Electronic Engineer Tamay Dogan Network Debian GNU/Linux Consultant -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ # Debian GNU/Linux Consultant # Michelle Konzack Apt. 917 ICQ #328449886 +49/177/935194750, rue de Soultz MSN LinuxMichi +33/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php