Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Re: Slightly OT: Perl and CGI - reading a file

by C_T (Scribe)
on Mar 30, 2004 at 23:52 UTC ( [id://341146]=note: print w/replies, xml ) Need Help??


in reply to Re: Slightly OT: Perl and CGI - reading a file
in thread Slightly OT: Perl and CGI - reading a file

Sorry for the dumb question, but this is all new to me.

How do I find the "real path"? This is on a paid service's webserver (i.e., commercial hosting site).

I know how to get the current directory path when I'm logged into the shell on my server here, but I don't log into their webserver in the same way, I just log into www.myURLhere.com using an FTP client and upload the web pages.

Again, I know this is a dumb question, but I'm very new to the whole CGI and Unix shell world.

CT

Charles Thomas
Madison, WI
  • Comment on Re: Re: Slightly OT: Perl and CGI - reading a file

Replies are listed 'Best First'.
Re: Re: Re: Slightly OT: Perl and CGI - reading a file
by tachyon (Chancellor) on Mar 31, 2004 at 02:33 UTC

    Upload this script and run via CGI:

    #!/usr/bin/perl use Cwd; print "Content-Type: text/html\n\n"; print "<p>Perl says CWD is: ", cwd(); print "<p>System PWD says: ", `pwd`;

    cheers

    tachyon

      Apparently they're both returning nothing. I get:

      Perl says CWD is: System PWD says:

      As output.

      Charles Thomas
      Madison, WI

        Your server must be running some sort of 'broken' virualisation environment. There are too many posibilities. I would suggest finding a host that will let you have SSH access. See perlmonk.org for a good option if you just want to play about.

        cheers

        tachyon

Re^3: Slightly OT: Perl and CGI - reading a file
by bart (Canon) on Mar 31, 2004 at 20:01 UTC
    How do I find the "real path"? This is on a paid service's webserver (i.e., commercial hosting site).

    Some ways:

    • use Cwd; to get the current directory. Hopefully, that is the path the script is in — usually that is the case. Other people have showed you here how to use it.
    • Same effect, somewhat simpler: use File::Spec::Functions 'rel2abs'; which can be used to convert a file path to an absolute path:
      use File::SPec::Functions 'rel2abs'; my $abspath = rel2abs("produce_items.txt");
    But, to be honest, I don't expect these to work, because if opening a relative path doesn't work because the file doesn't exist, using an absolute path for the same location will most likely have the very same effect.

    So, you're better off hardcoding the absolute path to your data file.

    If that isn't a most favourable option, you can still try to find the position of the script using FindBin, and locate the data file from there:

    use FindBin; my $abspath = "$FindBin::Bin/produce_items.txt";

    Still, I believe you're best off moving your data out of your web space, to an absolute location, with a prereably a simple path, and hardcode it into your script.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://341146]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2024-04-24 17:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found