php-windows Digest 15 Dec 2004 00:21:38 -0000 Issue 2506

Topics (messages 25153 through 25157):

Substr function
        25153 by: S.D.Price
        25154 by: Luis Moreira
        25155 by: tg-php.gryffyndevelopment.com

Re: [PHP-DEV] im convert php-screw to windows dll
        25156 by: Wez Furlong

Re: bar graph gd
        25157 by: Rob Adams

Administrivia:

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        [EMAIL PROTECTED]


----------------------------------------------------------------------
--- Begin Message ---

Hi can anyone explain to me how to manipluate strings. I have generated
a file name

($_FILES['documenturl']['name'])

Out of this server variable I need to grab the file and the extension
and put them into seperate fields for database upload. Any idea how to
do this by using substr?

Thanks
Steven








--- End Message ---
--- Begin Message ---
Copy to the list

**************************************************************************
Have you tried reading the manuals, or the function syntax ?
What I give you next is readable at http://www.php.net <www.php.net>


Description

string *substr* ( string string, int start [, int length])

*substr()* returns the portion of string specified by the start and length parameters.

If start is non-negative, the returned string will start at the start'th position in string, counting from zero. For instance, in the string 'abcdef', the character at position 0 is 'a', the character at position 2 is 'c', and so forth.

*Example 1. Basic *substr()* usage*

| <?php
$rest = substr("abcdef", 1);    // returns "bcdef"
$rest = substr("abcdef", 1, 3); // returns "bcd"
$rest = substr("abcdef", 0, 4); // returns "abcd"
$rest = substr("abcdef", 0, 8); // returns "abcdef"

// Accessing via curly braces is another option
$string = 'abcdef';
echo $string{0};                // returns a
echo $string{3};                // returns d
?>


If the filename has a dot separating the name from the extension, you can also use EXPLODE


|


Description

array *explode* ( string separator, string string [, int limit])

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string separator. If limit is set, the returned array will contain a maximum of limit elements with the last element containing the rest of string.

If separator is an empty string (""), *explode()* will return *FALSE*. If separator contains a value that is not contained in string, then *explode()* will return an array containing string.

If the limit parameter is negative, all components except the last limit are returned. This feature was added in PHP 5.1.0.

Although *implode()* <http://pt.php.net/manual/en/function.implode.php> can, for historical reasons, accept its parameters in either order, *explode()* cannot. You must ensure that the separator argument comes before the string argument.

  *Note: * The limit parameter was added in PHP 4.0.1

*Example 1. *explode()* examples*

| <?php
// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *


?> |
**************************************************************************

S.D.Price wrote:

Hi can anyone explain to me how to manipluate strings. I have generated
a file name

($_FILES['documenturl']['name'])

Out of this server variable I need to grab the file and the extension
and put them into seperate fields for database upload. Any idea how to
do this by using substr?

Thanks
Steven











--- End Message ---
--- Begin Message ---
In addition to substr() and explode() already mentioned, check out some of 
these:

basename() - Returns filename component of path
http://us2.php.net/manual/en/function.basename.php

strrpos() - Find position of last occurrence of a char in a string
http://us2.php.net/manual/en/function.strrpos.php

$filepath = "/something/somethingelse/filename.ext";

You could use basename() to get the full filename with exension then use
  $basename = basename($filepath);

Or you could use:

  $basename = substr(strrpos($filepath,"/")+1);

Then use:
  list($file,$ext) = explode(".",$basename);
.. to get your extension.

I think that's right.  If you don't do the +1, I believe you'll get the "/" in 
your filename and you don't want that part.

I think basename() is probably your best bet if you have the full file path to 
start with.  substr() works great if you know where to split the string but 
using PHP's functions to their fullest capability is always good tood.

Good luck!  HTH!

-TG
*** new email address [EMAIL PROTECTED]
*** old email address [EMAIL PROTECTED]  (Stupid Chapter 11)



= = = Original message = = =

Hi can anyone explain to me how to manipluate strings. I have generated
a file name

($_FILES['documenturl']['name'])

Out of this server variable I need to grab the file and the extension
and put them into seperate fields for database upload. Any idea how to
do this by using substr?

Thanks
Steven


___________________________________________________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.

--- End Message ---
--- Begin Message ---
What is PHP Screw ?
What are you trying to do?
Let's have more detail and more incentive to actually download and
look through the zip file.

--Wez.

On Mon, 13 Dec 2004 15:06:23 +0200, Andrew <[EMAIL PROTECTED]> wrote:
> Hi..
> 
> I'm trying to get PHP Screw working on Windows thru Visual C++ compiling
> it as a windows DLL, everything works except it doesn't actually replace the
> fopen function, it seems to ignore that command. I would really like to get
> this working, I have a project that you can look at if you are interested:
> 
> http://koula.co.za/screwdll.zip
> 
> I am creating files in c:/ to check if a function runs, and only the
> pm9screw_open
> doesn't run, when replacing zend_open with it
> 
> Thanks if you can help
> 
> Regards
> Andrew
> 
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
>

--- End Message ---
--- Begin Message ---
"Jm" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Hi guys:
> I'm using php5 on winxp with IIS. I'm trying to run a simple bar graph 
> demo found it on phpbuilder site. When I run it I get nothing but an x in 
> the top left corner of my web page(no errors nothing).

Are you sure there aren't any errors?  Check the error log file that php 
creates. (See settings in php.ini.)  I often find errors in there that I 
never even saw evidence of in the browser.

> GD is uncommented in my php.ini, ext dir set and I have verified that GD 
> is installed through php -m,phpinfo() , and gd_info(). Can anyone offer me 
> some advice on how to troubleshoot this problem.
> I searched google, and did see other posts like mine but no solutions. Any 
> thoughts or suggestions would be appreciated.

Other than that, you might try changing your error reporting level and your 
default error handler.

See
http://www.php.net/manual/en/ref.errorfunc.php
for an example on how to set another error handler.
Then you can output (to file) your own messages. (Remember, outputting to 
stdout won't do any good, because it's all being treated as an image.)

  -- Rob 

--- End Message ---

Reply via email to