2012-03-23 39 views

回答

8

您应该使用文件系统上文件的绝对路径或相对路径。

<?php 

$absolute_path = '/full/path/to/filename.php'; 
$relative_path = '../posts/filename.php'; 

// use one of $absolute_path or $relative_path in fopen() 

?> 
+0

谢谢,工作。 – user1142872 2012-03-23 10:43:41

+0

@ user1142872您应该将其标记为答案。 – 2017-01-29 05:23:17

3

您可以使用相对路径从该文件的父目录内的目录打开文件。

例如,从/foo/y/foo/x的相对路径是../x。正如你可能知道的那样,双点意味着“上面的目录”。所以,/foo/../foo/bar/foo/bar相同。通常使用绝对路径更安全,因为相对路径可能取决于进程当前目录。 你应该从来没有硬编码绝对路径 - 计算它。

所以,这应该从管理/ upload.php的打开物品/ thefile.php:

// path to admin/ 
$this_dir = dirname(__FILE__); 

// admin's parent dir path can be represented by admin/.. 
$parent_dir = realpath($this_dir . '/..'); 

// concatenate the target path from the parent dir path 
$target_path = $parent_dir . '/articles/' . $theFile . '.php'; 

// open the file 
$ourFileHandle = fopen($target_path, 'w') or die("can't open file"); 

你真的应该熟悉paths

+0

感谢您的高级信息! – user1142872 2012-03-23 10:43:32

+0

随时!请不要忘记[关闭此问题](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – jpic 2012-03-23 10:49:15

2

您总是可以通过$ _SERVER ['DOCUMENT_ROOT']访问http://www.yourdomain.com/的本地路径表示。

<?php 
$f = fopen($_SERVER['DOCUMENT_ROOT'] . '/posts/filename.php'); 
?> 
相关问题