Having trouble writing/copying/renaming file to sub-directory [message #170966] |
Mon, 13 December 2010 04:25 |
seeWebInstead
Messages: 14 Registered: October 2010
Karma: 0
|
Junior Member |
|
|
Using the FTP program, I PUT the PHP script files, created some
sub-directories, including ReqSOAP, and PUT a file into the ReqSOAP
sub-directory. Excerpts of directory listings after that's been done:
ftp> dir
...
drwxr-xr-x 3 3237 vhosts 4096 Nov 20 23:41 Images
drwxr-xr-x 2 3237 vhosts 4096 Dec 11 02:10 RepSOAP
drwxr-xr-x 2 3237 vhosts 4096 Dec 13 10:56 ReqSOAP
...
-rw-r--r-- 1 3237 vhosts 20059 Nov 11 13:42 portal1.php
...
ftp> cd ReqSOAP
250 OK. Current directory is /ReqSOAP
ftp> dir
-rw-r--r-- 1 3237 vhosts 5 Dec 13 10:56 tmp.txt
Using PHP script, writing into my toplevel (default) directory
works, but that's not what I want, which is to write into a
sub-directory. (What's the point of making sub-directories if they
can't be used from PHP scripts??) Here's the key part of the script,
interleaved with the corresponding output:
$olddir = getcwd(); echo " old-dir: "; var_dump($olddir);
old-dir: string(46) "/www/blackapplehost.com/c/a/l/calrobert/htdocs"
echo " strlen=",strlen($outr20str)," ";
strlen=791
$filnam = $timst . ".txt"; echo " filnam: [",$filnam,"] ";
filnam: [1292127412.58842300.txt]
$dir = "ReqSOAP"; echo " is_dir: ",is_dir($dir)," ";
is_dir: 1
$filename = "$dir/$filnam"; echo " filename: [",$filename,"] ";
filename: [ReqSOAP/1292127412.58842300.txt]
$bytes = file_put_contents($filename,$outr20str); echo " f1: "; var_dump($bytes);
f1: bool(false)
$bytes = file_put_contents($filnam,$outr20str); echo " f2: "; var_dump($bytes);
f2: int(791)
$r = copy($filnam, $filename); echo " copy: "; var_dump($r);
copy: bool(false)
$r = link($filnam, $filename); echo " link: "; var_dump($r);
link: NULL
$r = unlink($filnam); echo " unlink: "; var_dump($r);
unlink: bool(true)
I've run out of ideas how to get my output into the ReqSOAP sub-directory.
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170967 is a reply to message #170966] |
Mon, 13 December 2010 04:49 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 12/12/2010 11:25 PM, Robert Maas, http://tinyurl.com/uh3t wrote:
> Using the FTP program, I PUT the PHP script files, created some
> sub-directories, including ReqSOAP, and PUT a file into the ReqSOAP
> sub-directory. Excerpts of directory listings after that's been done:
>
> ftp> dir
> ..
> drwxr-xr-x 3 3237 vhosts 4096 Nov 20 23:41 Images
> drwxr-xr-x 2 3237 vhosts 4096 Dec 11 02:10 RepSOAP
> drwxr-xr-x 2 3237 vhosts 4096 Dec 13 10:56 ReqSOAP
> ..
> -rw-r--r-- 1 3237 vhosts 20059 Nov 11 13:42 portal1.php
> ..
> ftp> cd ReqSOAP
> 250 OK. Current directory is /ReqSOAP
> ftp> dir
> -rw-r--r-- 1 3237 vhosts 5 Dec 13 10:56 tmp.txt
>
> Using PHP script, writing into my toplevel (default) directory
> works, but that's not what I want, which is to write into a
> sub-directory. (What's the point of making sub-directories if they
> can't be used from PHP scripts??) Here's the key part of the script,
> interleaved with the corresponding output:
>
> $olddir = getcwd(); echo " old-dir: "; var_dump($olddir);
> old-dir: string(46) "/www/blackapplehost.com/c/a/l/calrobert/htdocs"
>
> echo " strlen=",strlen($outr20str)," ";
> strlen=791
>
> $filnam = $timst . ".txt"; echo " filnam: [",$filnam,"] ";
> filnam: [1292127412.58842300.txt]
>
> $dir = "ReqSOAP"; echo " is_dir: ",is_dir($dir)," ";
> is_dir: 1
>
> $filename = "$dir/$filnam"; echo " filename: [",$filename,"] ";
> filename: [ReqSOAP/1292127412.58842300.txt]
>
> $bytes = file_put_contents($filename,$outr20str); echo " f1: "; var_dump($bytes);
> f1: bool(false)
>
> $bytes = file_put_contents($filnam,$outr20str); echo " f2: "; var_dump($bytes);
> f2: int(791)
>
> $r = copy($filnam, $filename); echo " copy: "; var_dump($r);
> copy: bool(false)
>
> $r = link($filnam, $filename); echo " link: "; var_dump($r);
> link: NULL
>
> $r = unlink($filnam); echo " unlink: "; var_dump($r);
> unlink: bool(true)
>
> I've run out of ideas how to get my output into the ReqSOAP sub-directory.
What's the userid php is running under?
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170968 is a reply to message #170967] |
Mon, 13 December 2010 06:28 |
seeWebInstead
Messages: 14 Registered: October 2010
Karma: 0
|
Junior Member |
|
|
> From: Jerry Stuckle <jstuck...@attglobal.net>
> What's the userid php is running under?
Trying to find that info...
var_dump($_ENV);
array(5) { ["PATH"]=> string(28) "/usr/local/bin:/usr/bin:/bin"
["PWD"]=> string(1) "/"
["LANG"]=> string(1) "C"
["SHLVL"]=> string(1) "1"
["_"]=> string(17) "/usr/sbin/apache2" }
That didn't tell me anything useful.
$uid = posix_getuid(); var_dump($uid);
int(2001)
Is that what you wanted to know?
|
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170974 is a reply to message #170968] |
Mon, 13 December 2010 12:12 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 12/13/2010 1:28 AM, Robert Maas, http://tinyurl.com/uh3t wrote:
>> From: Jerry Stuckle<jstuck...@attglobal.net>
>> What's the userid php is running under?
>
> Trying to find that info...
>
> var_dump($_ENV);
> array(5) { ["PATH"]=> string(28) "/usr/local/bin:/usr/bin:/bin"
> ["PWD"]=> string(1) "/"
> ["LANG"]=> string(1) "C"
> ["SHLVL"]=> string(1) "1"
> ["_"]=> string(17) "/usr/sbin/apache2" }
> That didn't tell me anything useful.
>
> $uid = posix_getuid(); var_dump($uid);
> int(2001)
> Is that what you wanted to know?
You need to learn about Linux administration and permissions.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170980 is a reply to message #170969] |
Mon, 13 December 2010 18:37 |
seeWebInstead
Messages: 14 Registered: October 2010
Karma: 0
|
Junior Member |
|
|
> From: =?ISO-8859-1?Q?=22=C1lvaro_G=2E_Vicario=22?= <alvaro.NOSPAMTH...@demogracia.com.invalid>
> Then it's clear why you can't write on it:
> drwxr-xr-x 2 3237 vhosts 4096 Dec 11 02:10 RepSOAP
> You need to set the "w" (write) permission for other users. You can
> probably do it with your FTP client.
Yes, FTP does support chmod. I tried setting permission 777:
drwxrwxrwx 2 3237 vhosts 4096 Dec 14 01:27 ReqSOAP
and that fixed the problem. But allowing anyone anyone in the whole
world to write to this sub-directory seems a bad idea, so next I
backed it off to just 775:
drwxrwxr-x 2 3237 vhosts 4096 Dec 14 01:27 ReqSOAP
and it still was writable by my PHP script, so I hope that's safe
enough. All files in this directory (including the one I'm writing
now) will be public-key signed and encrypted, so if other users in
the same group write junk there, overwriting my own files during
the brief interval after I write them before a callback mechanism
fetches them, the worst it can do is disrupt message passing, not
insert forged messages. (The same will be true of reply messages in
another similar sub-directory, where there will be a brief interval
after a call-forward mechanism writes them until the local PHP
script fetches them.)
Thanks.
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170981 is a reply to message #170974] |
Mon, 13 December 2010 19:03 |
seeWebInstead
Messages: 14 Registered: October 2010
Karma: 0
|
Junior Member |
|
|
> From: Jerry Stuckle <jstuck...@attglobal.net>
(regarding my PHP/MySQL hosting account on blackapplehost.com)
> You need to learn about Linux administration and permissions.
From the information I posted, i.e. how my directory looks via FTP,
and how my PHP scripts run, how can you tell it's Linux, as opposed
to FreeBSD or Windows?? I suppose the fact that the directory
separator is / instead of \ eliminates Windows? But otherwise, how
can you pin down which version of *nix it's running??
By the way, when I first had this problem, I suspected the system
was running Windows, and thus the directory separator wasn't / but
was \, so I changed the directory separator in my filename spec to
be \, and it successfully wrote the file!! But then when I used FTP
to see if it was written in the subdirectory, nothing was there,
the sub-directory was still empty. But then I noticed the main
directory contained a file called "ReqSOAP\1292127412.58842300.txt",
but when I tried to GET that file via FTP (to see if PHP had
written the correct data into it) it complained it had a prohibited
name. FTP couldn't rename it either, because of the prohibited
filename. Next I tried mget *292*.txt, and it recognized the file
and offered to get it, but when I said 'y' it said the name was
prohibited. I finally used a PHP script to rename the file to have
a more normal filename, at which point FTP could GET it and then
delete it.
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170983 is a reply to message #170981] |
Mon, 13 December 2010 19:14 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 12/13/2010 2:03 PM, Robert Maas, http://tinyurl.com/uh3t wrote:
>> From: Jerry Stuckle<jstuck...@attglobal.net>
> (regarding my PHP/MySQL hosting account on blackapplehost.com)
>> You need to learn about Linux administration and permissions.
>
> From the information I posted, i.e. how my directory looks via FTP,
> and how my PHP scripts run, how can you tell it's Linux, as opposed
> to FreeBSD or Windows?? I suppose the fact that the directory
> separator is / instead of \ eliminates Windows? But otherwise, how
> can you pin down which version of *nix it's running??
>
FreeBSD is a version of Linux. And Windows does not have the same
permissions. And it doesn't matter which version of Linux you are
running - your problem is the same on all of them.
But then I understand various operating systems - so it was quite obvious.
> By the way, when I first had this problem, I suspected the system
> was running Windows, and thus the directory separator wasn't / but
> was \, so I changed the directory separator in my filename spec to
> be \, and it successfully wrote the file!! But then when I used FTP
> to see if it was written in the subdirectory, nothing was there,
> the sub-directory was still empty. But then I noticed the main
> directory contained a file called "ReqSOAP\1292127412.58842300.txt",
> but when I tried to GET that file via FTP (to see if PHP had
> written the correct data into it) it complained it had a prohibited
> name. FTP couldn't rename it either, because of the prohibited
> filename. Next I tried mget *292*.txt, and it recognized the file
> and offered to get it, but when I said 'y' it said the name was
> prohibited. I finally used a PHP script to rename the file to have
> a more normal filename, at which point FTP could GET it and then
> delete it.
Shows how little you actually know.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170991 is a reply to message #170988] |
Tue, 14 December 2010 04:59 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 12/13/2010 10:26 PM, Adam Harvey wrote:
> On Mon, 13 Dec 2010 14:14:01 -0500, Jerry Stuckle wrote:
>> FreeBSD is a version of Linux.
>
> No, it's not.
>
> Adam
I would suggest you learn what you're talking about. FreeBSD may have
been developed separately, but it is as much a Unix clone as Linux is,
and is generally considered in the same vein as other Linux versions.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170992 is a reply to message #170991] |
Tue, 14 December 2010 05:44 |
Jeremy J Starcher
Messages: 5 Registered: December 2010
Karma: 0
|
Junior Member |
|
|
On Mon, 13 Dec 2010 23:59:39 -0500, Jerry Stuckle wrote:
> On 12/13/2010 10:26 PM, Adam Harvey wrote:
>> On Mon, 13 Dec 2010 14:14:01 -0500, Jerry Stuckle wrote:
>>> FreeBSD is a version of Linux.
>>
>> No, it's not.
>>
>> Adam
>
> I would suggest you learn what you're talking about. FreeBSD may have
> been developed separately, but it is as much a Unix clone as Linux is,
> and is generally considered in the same vein as other Linux versions.
Actually, FreeBSD might be more of a Unix clone than Linux is, but ...
that does not make it a version of Linux. It makes it a Unix-like OS.
* FreeBSD does not run the Linux kernel (which is the only part of
Linux that actually is Linux)
* It is not byte-code compatible with Linux.
* It is not 100% source compatible with Linux.
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170994 is a reply to message #170992] |
Tue, 14 December 2010 13:08 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 12/14/2010 12:44 AM, Jeremy J Starcher wrote:
> On Mon, 13 Dec 2010 23:59:39 -0500, Jerry Stuckle wrote:
>
>> On 12/13/2010 10:26 PM, Adam Harvey wrote:
>>> On Mon, 13 Dec 2010 14:14:01 -0500, Jerry Stuckle wrote:
>>>> FreeBSD is a version of Linux.
>>>
>>> No, it's not.
>>>
>>> Adam
>>
>> I would suggest you learn what you're talking about. FreeBSD may have
>> been developed separately, but it is as much a Unix clone as Linux is,
>> and is generally considered in the same vein as other Linux versions.
>
> Actually, FreeBSD might be more of a Unix clone than Linux is, but ...
>
> that does not make it a version of Linux. It makes it a Unix-like OS.
>
> * FreeBSD does not run the Linux kernel (which is the only part of
> Linux that actually is Linux)
> * It is not byte-code compatible with Linux.
> * It is not 100% source compatible with Linux.
>
Sigh... I was afraid this would bring out the FreeBSD bigots...
The truth is the differences between FreeBSD and Linux are pretty minor,
especially in the administration. For all intent purposes, the vast
majority of Unix/Linux users consider FreeBSD to be close enough to
Linux that both are considered Unix-like clones. Only a few people feel
the need to make a big thing about minor differences.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: Having trouble writing/copying/renaming file to sub-directory [message #170997 is a reply to message #170994] |
Tue, 14 December 2010 14:17 |
Jeremy J Starcher
Messages: 5 Registered: December 2010
Karma: 0
|
Junior Member |
|
|
On Tue, 14 Dec 2010 08:08:01 -0500, Jerry Stuckle wrote:
> Sigh... I was afraid this would bring out the FreeBSD bigots...
>
> The truth is the differences between FreeBSD and Linux are pretty minor,
> especially in the administration. For all intent purposes, the vast
> majority of Unix/Linux users consider FreeBSD to be close enough to
> Linux that both are considered Unix-like clones. Only a few people feel
> the need to make a big thing about minor differences.
Since we are way off topic here, this will be my last post on this
subject.
I'm not a FreeBSD bigot -- in fact, I don't believe I have ever used it.
I didn't make the post to be a bigot, but rather because I am a precise
man who goes out of my way to say what I mean.
As far as "The truth is the differences between FreeBSD and Linux are
pretty minor, especially in the administration."
That is so ... wrong. Heck, different Linux distros are administered
entirely differently. Just run Slack and Ubuntu side by side and see how
little two Linux distros have with themselves.
This whole thing is like saying "uint16 .. int32 ... they both pretty
much the same. They handle numbers and you can do math on them."
|
|
|