2016-05-26 6 views
-1

Я новичок в php, и я хотел бы просто прочитать содержимое файла в подкаталоге ниже моего каталога actall. Мой текущий каталог -/var/www/drop/portal /, и мой index.php находится в этом каталоге. У меня есть/var/www/drop/portal/php/dir - это мой файл sas paswword.file_get_contents php и подкаталог

здесь простой код моего «index.php»:

<html> 
<body> 
<font size="2" face="Arial">Bienvenu sur mon outil S3</font> 
<?php 
define("BASEPATH"," /var/www/drop/portal/php/"); 
$my_filedistant_test = file_get_contents(BASEPATH."/passwd-s3fs.txt"); 
echo $my_filedistant_test; 
?> 
</body> 

, но ничего не происходит ...

+0

Что говорит файл ошибок? Что-нибудь о разрешениях на файлы? Вы рассмотрели сначала проверку файла ошибки? – kainaw

+1

Я бы рекомендовал использовать относительные пути. Вы знаете, где находится файл index.php, и знаете, где находится другой файл. В PHP вы можете использовать '__DIR__' и' realpath (__ FILE __) 'магические константы, чтобы получить каталог, содержащий файл, который в настоящее время выполняется, а затем использовать это значение для получения нужного файла:' file_get_contents (__ DIR__. '/passwd-s3fs.txt'); 'выглядит так, как вы. Конечно, пользователь, выполняющий скрипт, должен иметь доступ для чтения к этому файлу/директории –

+1

Вероятно, пробел перед '/ var', в вашем определении BASEPATH. – Progrock

ответ

-1

Это то, что я хотел бы сделать, чтобы проверить на наличие ошибок:

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
?> 

Кроме того, если у вас есть сомнения, двойная проверка, печатая путь, который вы пытаетесь получить доступ к:

echo BASEPATH."/passwd-s3fs.txt" 

просто чтобы убедиться, что нет опечаток.

1

У вас есть двойная косая черта на пути параметров в функции file_get_contents.

Проверьте allow_url_fopen активирован:

<?php 
    var_dump(ini_get('allow_url_fopen'); 
?> 

если верно идут рядом

Я предлагаю использовать относительный базовый путь:

<?php 
    define("BASEPATH", getcwd() .'/php'); 
    $my_filedistant_test = file_get_contents(BASEPATH."/passwd-s3fs.txt"); 
    echo $my_filedistant_test; 
?> 
+0

Я сомневаюсь, что Php позаботится о двойных косых чертах. Но еще лучше удалить его. – Progrock

+0

Это сработало !! Спасибо – MouIdri

+0

Ответьте правильно. Итак, у кого-то, у кого есть такая проблема, можно увидеть, какая работа в этом случае. Тонкс! –