Sponsored Content
Top Forums Shell Programming and Scripting PHP: declared variables, strlen vs isset Post 302976550 by stomp on Thursday 30th of June 2016 05:51:02 PM
Old 06-30-2016
Hi crimso,

Quote:
...and to limit how big the post got.
This is very appreciated indeed.

First of all. There are functions and libs for everything. Command-Line-Option Parsing may be done with getopt: Look here: PHP: getopt - Manual

(But you may ignore that, if your code works).

The following does not work:

Code:
<?php 
#!/usr/bin/php -q

If you decide to use #!, it has to be at the very beginning of the Script-File. Only then the kernel will read the following binary as interpreter for the actual file.

Further without testing the code myself, I suggest you test, if your Arg-parsing produces correct output. I suspect it may not fully work as expected and the values are not what you assume them to be. I suggest you insert some debug statements before+after Arg parsing like:

Code:
print_r($parms);
print_r($arg);
print_r($value);
print_r($host);
print(gettype($host));

A logging function would help you to debug your code independently of the running environment(webserver or command line).

Code:
#!/usr/bin/php
<?PHP
# global log-file handle
$log = NULL;
function mylog($msg=NULL) {
       $logfile="/tmp/myapp.log";  # There may be better locations than /tmp for the logfile
       global $log;
       if(!$log) {   
            # only open logfile once per script run. After the first
            # mylog() invocation the open filehandle will be used.
            # Also be lazy and let it automatically be closed at 
            # end of programm by php itself
          $log = fopen($logfile,"a");
          if(! $log) die("Cannot open Logfile: " . error_get_last());
       }
       if($msg) {
                fwrite($log,date("Y/m/d h:i:s",mktime())." : ".getmypid()." : ".(string)$msg."\n");
       }
}

The above mentioned debug statements are easily usable with such a log function(print_r needs to be told, that it returns the formated dump data and so it does not print it to stdout itself).

Code:
mylog(print_r($host,true));

PHP: Hypertext Preprocessor

PHP.net is a great and fabulous source of documentation for PHP. Nearly all functions documentation pages have directly attached real-life coding examples down at the bottom of each page.
 

10 More Discussions You Might Find Interesting

1. Programming

Problems with Strlen

hello, i have a problem with strlen. I have written this: for(y=13,z=0; cInBuf!=' ';y++) { cBuf=cInBuf; z++; } len = strlen(cBuf); out=len/2; fprintf(outfile,"F%i",out); If strlen is e.g. 22, it write F22. I want to write F2F2. How can i do this?... (5 Replies)
Discussion started by: ACeD
5 Replies

2. Shell Programming and Scripting

Problem with the strlen function in ksh

Hello, Just a little problem with the ksh function : strlen I want to use this function in this little ksh program : while read line ; do TOTO=$line TOTONB=strlen($TOTO) echo $TOTONB (3 Replies)
Discussion started by: steiner
3 Replies

3. Shell Programming and Scripting

accessing variables declared in another perl script

Hi all, I have a perl script which declares two variables and calls another perl script which accesses those variables. But I am unable to access the variables in the called script. My script is as follows: my $ENV{a}="20"; system("perl called.pl"); and my called.pl contains: print... (3 Replies)
Discussion started by: gurukottur
3 Replies

4. Programming

'strlen' of a constant string

In a declaration, I have: const char comment_begin = "<!--"; const char comment_end = "-->"; const int comment_begin_len = strlen(comment_begin); const int comment_end_len = strlen(comment_end); When I compile, I get the warnings: emhttpc.c:64: warning: initializer element is not... (10 Replies)
Discussion started by: cleopard
10 Replies

5. Programming

pointer arithmetic vs. strlen() & strnlen()?

I have been getting some flack recently for my use of strlen() and strnlen(). Honestly I have always just taken their functionality for granted as being the easiest way of getting the length of a string. Is it really so much better to do pointer arithmetic? What am I gaining besides more... (3 Replies)
Discussion started by: jjinno
3 Replies

6. Shell Programming and Scripting

isset() PHP function in cgi bash scripts

Hi! Some minutes ago I've posted a question related with sed regexps because I need to catch information sended with forms with GET action. This is the post: https://www.unix.com/shell-programming-scripting/127800-regular-expression-sed.html But now I have a new question. Does cgi scripts have... (0 Replies)
Discussion started by: GagleKas
0 Replies

7. Programming

strlen for UTF-8

My OS (Debian) and gcc use the UTF-8 locale. This code says that the char size is 1 byte but the size of 'a' is really 4 bytes. int main(void) { setlocale(LC_ALL, "en_US.UTF-8"); printf("Char size: %i\nSize of char 'a': %i\nSize of Euro sign '€': %i\nLength of Euro sign: %i\n",... (8 Replies)
Discussion started by: cyler
8 Replies

8. AIX

`pthread_rwlock_t' was not declared in this scope

Hello All, I am getting this error while compiling my application on IBM AIX 5.3. As I tried to define _XOPEN_SOURCE=500 in makefile, that didn't work. Please help us to resolve the error. (0 Replies)
Discussion started by: mustus
0 Replies

9. Shell Programming and Scripting

Help in separating variables declared in the main function

Hi! I've a C program as shown below.. The line numbers and the statements of the program are separated by a space.. 1 #include<stdio.h> 2 char a,b,c; 3 float x,y,z; 4 int main() 5 { 6 int d,e,f; 7 // further declarations 8 // further declarations 9 /* body*/ 10 } 11 void fun1() 12... (1 Reply)
Discussion started by: abk07
1 Replies

10. Programming

Segment fault related to strlen.S

Hello, This function was copied into my code, which was compiled without error/warning, but when executed there is always Segmentation fault at the end after the output (which seems correct!): void get_hashes(unsigned int hash, unsigned char *in) { unsigned char *str = in; int pos =... (7 Replies)
Discussion started by: yifangt
7 Replies
PHP_INI_SCANNED_FILES(3)						 1						  PHP_INI_SCANNED_FILES(3)

php_ini_scanned_files - Return a list of .ini files parsed from the additional ini dir

SYNOPSIS
string php_ini_scanned_files (void ) DESCRIPTION
php_ini_scanned_files(3) returns a comma-separated list of configuration files parsed after php.ini. These files are found in a directory defined by the --with-config-file-scan-dir option which is set during compilation. The returned configuration files also include the path as declared in the --with-config-file-scan-dir option. RETURN VALUES
Returns a comma-separated string of .ini files on success. Each comma is followed by a newline. If the directive --with-config-file-scan- dir wasn't set, FALSE is returned. If it was set and the directory was empty, an empty string is returned. If a file is unrecognizable, the file will still make it into the returned string but a PHP error will also result. This PHP error will be seen both at compile time and while using php_ini_scanned_files(3). EXAMPLES
Example #1 A simple example to list the returned ini files <?php if ($filelist = php_ini_scanned_files()) { if (strlen($filelist) > 0) { $files = explode(',', $filelist); foreach ($files as $file) { echo "<li>" . trim($file) . "</li> "; } } } ?> SEE ALSO
ini_set(3), phpinfo(3), php_ini_loaded_file(3). PHP Documentation Group PHP_INI_SCANNED_FILES(3)
All times are GMT -4. The time now is 03:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy