Для профиля пользователя на моем веб-сайте им разрешено загружать 1 изображение профиля. Это может быть PNG, JPG, JPEG или GIF. Теперь моя проблема заключается в отображении изображений. В принципе, я хотел бы посмотреть, какой у него тип расширения файла, а затем соответствующим образом отобразить файл. Я пытаюсь добиться этого с помощью функции file_exists в PHP, но она не работает! :(
Если я наберу URL-адрес (использует .png для примера)
http://localhost/postin'/profiles/pictures/username.png
в мою строку URL будет отображаться изображение этого пользователя. Затем, если я введу путь к файлу
C:/wamp/www/postin'/profiles/pictures/username.png
в адресную строку будет отображаться изображение этого пользователя. Теперь моя проблема заключается в том, что если я выполняю PHP file_check для любого из них, он всегда говорит, что файл НЕ существует. Вот код, который я использую:
<?php
$profileimagepath = "C:/wamp/www/postin'/profiles/pictures/";
$profileimageurl = "http://localhost/postin'/profiles/pictures/";
if (file_exists($profileimagepath.$username."."."png")) { ?>
<img src=<?php $profileimageurl.$username."."."png"; ?> id="accountpictureholderspecs">
<?php
}
elseif (file_exists($profileimagepath.$username."."."jpg")) { ?>
<img src=<?php $profileimageurl.$username."."."jpg"; ?> id="accountpictureholderspecs">
<?php
}
elseif (file_exists($profileimagepath.$username."."."jpeg")) { ?>
<img src=<?php $profileimageurl.$username."."."jpeg"; ?> id="accountpictureholderspecs">
<?php
}
elseif (file_exists($profileimagepath.$username."."."gif")) { ?>
<img src=<?php $profileimageurl.$username."."."gif"; ?> id="accountpictureholderspecs">
<?php
}
else { ?>
<img src="http://localhost/postin'/images/profileimage.png" id="accountpictureholderspecs">
<?php
}
?>
А в приведенном выше примере username — это просто имя пользователя. Так что мне интересно, почему этот код не работает? Спасибо!! :)
EDIT Вот мой общий путь к файлу:
C:\wamp\www\postin'\profiles\pictures\image.png
Тем не менее, когда я набираю:
\pictures\image.png
Не получится, изображение не отображается! :( Кстати, моя структура каталогов:
Postin'
Profiles
Pictures
image.png
.JPG, или.Jpg, или.jPgи т. д.? Почему вы объединяете две статические строки, такие как"."."jpg", вместо того, чтобы просто использовать".jpg"? Почему вы не храните путь к изображению профиля пользователя в базе данных вместо того, чтобы полагаться на повторяющиеся и дорогостоящие операции ввода-вывода? - person Sammitch   schedule 06.03.2015$profileimagepath = "C:/wamp/www/postin'/profiles/pictures/";никогда не может вернуть ваше изображение или любую другую папку. Представьте, PHP работает на вашем сервере (также если это виртуальный wamp-сервер), теперь он пытается найти (на сервере) путь сC:/wamp/www/po.., которого там просто нет... Как насчет того, чтобы попробовать что-то вроде этого:$files = glob($_SERVER["DOCUMENT_ROOT"]."/postin'/profiles/pictures/*"); var_dump($files);Теперь ваш$filesдолжен что-то вернуть, если нет:var_dump($_SERVER['DOCUMENT_ROOT']);// что это возвращает? - person caramba   schedule 06.03.2015