2015-12-18 6 views
-1

Я просто не могу обмотать голову, почему этот простой код не будет работать на моем локальном сервере Wamp, где у меня есть другие сайты.file_get_contents на локальном сервере Wamp не работает

<?php 

$file = file_get_contents('C:\Users\Computer\input.txt', true); 

echo $file; 

?> 

Файл должен там быть. я получаю следующее сообщение об ошибке:

Warning: file_get_contents(C:\Users\Computer\input.txt): failed to open stream: No such file or directory in C:\Users\Computer\Dropbox\htdocs\ny\www\php\day2\code.php on line 3 

Но файл именно там, где она должна быть. Файл имеет все возможные разрешения для прав (чтение, запись и т. Д.) В окнах, за исключением «специальных разрешений».

Что работает неправильно?

С уважением, Патрик

+1

'echo $ string;'? где это определено?

+0

Я бы предположил, что пользователь, на котором работает веб-сервер, не имеет доступа к чтению в ваш каталог пользователя. –

+0

@JonathanKuhn Не было бы причиной ошибки разрешения вместо ошибки «нет такого файла»? – Barmar

ответ

-1

Поскольку я неправильно сказал, что это может быть из-за обратной косой черты побега, я думаю, мне нужно, чтобы искупить, сказав что-то полезное :)

Так попробуйте:

$file = 'C:\Users\Computer\input.txt'; 
if(is_file($file)) 
{ 
    $string = file_get_contents($file); 
} 
else 
{ 
    die("Uh oh! Seems like $file has got problems!"); 
} 

Кроме того, вы передаете второй аргумент как true для поиска пути включения. Поскольку ваш путь к файлу является абсолютным, я подозреваю, что вам нужно передать этот аргумент вообще.

+0

В однокасканных строках нет экранирования (кроме экранированных одинарных кавычек). И сообщение об ошибке показывает, что обратная косая черта была прочитана правильно. – Barmar

+0

Я верю, что это только когда внутри двойные кавычки. Одиночные кавычки не исчезают. Кроме того, если вы посмотрите на сообщение об ошибке, в нем конкретно говорится 'C: \ Users \ Computer \ input.txt' –

0

Решение было расширение. Он не был правильно разобран. Это было проверено с помощью @VolkerK предлагая проверить

Does the output of var_export(glob('C:\Users\Computer*')); contain input.txt? Or is it false/null?

Благодаря @VolkerK за помощь в решении этой проблемы.

+1

проанализировано или проанализировано? редактировать: ах, разобран ;-) –

Смежные вопросы