PHP 4.0 Bug #9727 Updated: Unable to use @ in URL passwords with fopen()
| From: | sniper@php.net | Date: | Tue, 03 Apr 2001 13:44:41 +0000 |
| Subject: | PHP 4.0 Bug #9727 Updated: Unable to use @ in URL passwords with fopen() | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-50690@lists.php.net to get a copy of this message | ||
ID: 9727
Updated by: sniper
Reported By: aaron.webb@corenetworks.com
Old-Status: Open
Status: Closed
Bug Type: Filesystem function related
Assigned To:
Comments:
Works for me just fine. (with a passwd containing a @ )
Please try the latest CVS snapshot from http://snaps.php.net/
Reopen this bug report if problem still persists.
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2001-03-14 14:32:41] aaron.webb@corenetworks.com
Here's my exact code with only the username and password changed (oops - i sent a slightly
altered version before, to change the server names/passwords). This version has the following
behaviour:
If I use a password containing only letters/numbers, I can open and read the file no problem.
If I use the same password, and specify a file that does not exist, I get a message saying
'file not found' and one saying 'file or directory does not exist'.
If I use a password containing the @ symbol, I get a message that says 'invalid file
descriptor', no matter if the file exists or not.
Code:
$pword = 'password';
$server = "prefix";
$pword = urlencode($pword);
echo $filename = 'ftp://username:' . $pword .
"@$server.domain.com/path/file.txt";
$fd = fopen ($filename, "r");
echo $contents = fread ($fd, 100);
fclose ($fd);
---------------------------------------------------------------------------
[2001-03-13 22:54:48] sniper@php.net
There is one bug in your script:
.
.
$server = "servername";
.
.
echo $filename = 'ftp://username:'.$pword."@$servername/$filename";
.
.
You haven't got $servername set but $server.
Try changing that. Reopen if this wasn't the problem.
--Jani
---------------------------------------------------------------------------
[2001-03-13 18:21:51] aaron.webb@corenetworks.com
I'm running 4.0.4pl1 on redhat 6.1. I've tried (raw and regular) urlencoding my ftp
password to use with fopen, but if there's a @ in it it says 'bad file descriptor'.
I can open any file via ftp just fine, as long as there's no @ in the filename. The
'allow url fopen' (can't remember the exact name) is set to ON in my php.ini.
Here's my script:
<html>
<body>
<?
$pword = 'stuff@stuff';
$server = "servername";
$filename = "filename";
$pword = urlencode($pword);
echo $filename = 'ftp://username:' . $pword .
"@$servername/$filename";
$fd = fopen ($filename, "r");
echo $contents = fread ($fd, 100);
fclose ($fd);
?>
</body>
</html>
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9727&edit=2