Вам необходимо правильно интерполировать строки:
$IDnr = 'filename';
$filename = "\\\\Network-server\\map\\map\\map\\map\\".$IDnr.".jpg";
echo $filename;
Вывод:
\\Network-server\map\map\map\map\filename.jpg
Обратная косая черта \
указывает, что следующий символ должен использоваться буквально, поэтому вам нужно удваивать приВы буквально хотите один.
Конкатенация строк выполняется через нотацию .
, поэтому вы не можете просто отобразить что-то в середине построения строки.
Обновление по комментариям:
Привет, я следовал инструкциям на страницах, и это было похоже на проблему с правами пользователя PHP.Ошибка теперь исчезла, но изображение все еще не отображается.
Причина, по которой изображение не отображается, заключается в том, что ваш код пытается использовать прямой сетевой путь для получения ресурса, поэтому у вас естьНесколько вариантов.
Вариант 1. Ссылка на сетевой путь с использованием file:
Сетевой путь работает только для посетителей, которые действительно находятся в сети и имеют правочтобы прочитать ресурс, чтобы вы могли сделать что-то вроде echo '<img src="file:'.$filename.'"/>';
, но ограничение сети, вероятно, нежелательно.
Вариант 2. Считайте содержимое файла и предоставьте его в виде встроенного изображения
echo '<img src="data:image/jpeg;base64,'.base64_encode( file_get_contents( $filename ) ).'"/>';
Самая большая проблема заключается в том, что он не может кэшироваться веб-браузерами, и PHP должен считывать данные из сетевого расположения и загружать КАЖДОГО ОДНОГО изображения в память для всех пользовательских запросов, поэтомуможет иметь серьезные последствия для производительности.
Вариант 3: смонтировать сетевое расположение
Это наиболее сложное, но наиболее подходящеерешение.Вам необходимо выяснить, как использовать символическую ссылку или смонтировать сетевое расположение, чтобы у вас могли быть нормальные веб-ссылки, такие как:
echo '<img src="http://example.com/map/map/map/'.$IDnr.'.jpg"/>';