Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2019, 15:31   #11
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, одна существует на той машине, где установлен сервер/PHP (это локальный адрес H:\OpenServer\)
а другая - 192.168.0.174 - непонятно где-то в ЛВС.
туда вообще нельзя ничего записать напрямую (т.к. HTTP протокол это не позволяет)
а вот так верно будет ?
Код:
$upload_file=$_FILES["myfile"]["name"][$i];
			$folder="H:/OpenServer/domains/localhost/files";
			move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],"$folder/$upload_file");
			$folder="http://192.168.0.174/files";
			$insert_path="INSERT INTO in_myfile 
			(FilePath,NameFile,SelectionDescription,DocumentNumber) 
			VALUES ('$folder','$upload_file','$SelectionDescription','$DocumentNumber')";
			mysqli_query($conn, $insert_path);
Здесь сначала в $folder я записываю абсолютный адрес на сервере, куда нужно записать файл. А затем уже в $folder я пишу адрес, по которому в дальнейшем будет происходить его считывание и просмотр в браузере?
volni вне форума Ответить с цитированием
Старый 12.11.2019, 15:42   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ничего не понял.
чей адрес 192.168.0.174 ?
если это адрес вашей же машины в ЛВС, то в БД записывайте только folder '/files/'
остальной путь в БД писать не надо.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2019, 16:07   #13
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ничего не понял.
чей адрес 192.168.0.174 ?
если это адрес вашей же машины в ЛВС, то в БД записывайте только folder '/files/'
остальной путь в БД писать не надо.
пока что да, это адрес моей машины в сети, но потом на месте этого адреса будет либо айпишник сервера, либо имя домена сайта в локальной сети, который будет хранится опять же на этом сервере. Вот я и хочу все грамотно написать, чтобы работало=)

Получается, что в этой части пользователь будет заносить в базу путь к файлу и имя файла и перемещать сам файл на сервер со своего компьютера.
Код:
$upload_file=$_FILES["myfile"]["name"][$i];
			$folder="H:/OpenServer/domains/localhost/files";
			move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],"$folder/$upload_file");
			$folder="http://192.168.0.174/files";
			$insert_path="INSERT INTO in_myfile 
			(FilePath,NameFile,SelectionDescription,DocumentNumber) 
			VALUES ('$folder','$upload_file','$SelectionDescription','$DocumentNumber')";
			mysqli_query($conn, $insert_path);
А в этой части будет происходить считывание файла для просмотра в браузере.
Код:
$select_path="SELECT NameFile,FilePath FROM in_myfile WHERE DocumentNumber='$CardName' AND SelectionDescription = '$SelectionDescription'";
	$var=mysqli_query($conn, $select_path);
	while($row=mysqli_fetch_array($var))
	{
	$file_name=$row["NameFile"];
	$file_path=$row["FilePath"];
	echo "<a href=".$file_path."/".$file_name.">$file_name</a><p></p>";
	}
Надеюсь так понятней будет, что я хочу=)

Последний раз редактировалось volni; 12.11.2019 в 16:10.
volni вне форума Ответить с цитированием
Старый 12.11.2019, 16:35   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
Получается, что в этой части пользователь будет заносить в базу путь к файлу и имя файла и перемещать сам файл на сервер со своего компьютера.
путь в БД должен быть ОТНОСИТЕЛЬНЫМ. От корня вашего сайта.
не надо туда подставлять ни имя сервера, ни его адрес.

поэтому так
Код:
...
	$folder="/files/";
	$insert_path="INSERT INTO in_myfile (FilePath,NameFile,SelectionDescription,DocumentNumber) 
		VALUES ('$folder','$upload_file','$SelectionDescription','$DocumentNumber')";
	mysqli_query($conn, $insert_path);

надеюсь, что переменные $upload_file $SelectionDescription $DocumentNumber прошли санитарную обработку?

а чтобы понять, что Вам нужно, напишите ручками
Код:
echo '<a href="/files/ИмяФайла.pdf">Тестовая ссылка на PDF</a>';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.11.2019, 17:01   #15
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
путь в БД должен быть ОТНОСИТЕЛЬНЫМ. От корня вашего сайта.
не надо туда подставлять ни имя сервера, ни его адрес.
А ip-адрес я начал подставлять, потому что пытался до этого писать http://localhost/files/ и с других компьютеров не работало, хотя на моем все было норм.

И как вы считаете, будет ли работать вот эта связка?Я просто сейчас уже не могу проверить сам. Найдет ли другой компьютер этот относительный путь на сервере, то есть в данный момент на моей "машине".
Код:
$folder="H:/OpenServer/domains/localhost/files";
			move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],"$folder/$upload_file");

Последний раз редактировалось volni; 12.11.2019 в 17:03.
volni вне форума Ответить с цитированием
Старый 12.11.2019, 17:38   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

я не трогал ваш код с move_uploaded_file

я говорю, что в базу нет смысла писать полный путь.
и, главное, в ссылке a=href нужно показывать ОТНОСИТЕЛЬНЫЙ путь от корня сервера.

что-то не понятно?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.11.2019, 11:17   #17
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я не трогал ваш код с move_uploaded_file

я говорю, что в базу нет смысла писать полный путь.
и, главное, в ссылке a=href нужно показывать ОТНОСИТЕЛЬНЫЙ путь от корня сервера.

что-то не понятно?
Да нет, в этом вопросе все понятно))
volni вне форума Ответить с цитированием
Старый 13.11.2019, 11:22   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
Да нет, в этом вопросе все понятно))
Отлично.

Вы проверили, как работает относительный путь? Всё у Вас получилось? Вопрос закрыт?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.11.2019, 13:15   #19
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Отлично.

Вы проверили, как работает относительный путь? Всё у Вас получилось? Вопрос закрыт?
Да все работает, и move_uploaded_file тоже работает, сейчас протестировал
volni вне форума Ответить с цитированием
Старый 13.11.2019, 13:38   #20
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Отлично.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нежелательное открытие документа кликом по ссылке segail Microsoft Office Excel 0 10.06.2018 18:58
Открытие файлов в QT. Как сделать открытие файла, через QMenuBar ? progjar Qt и кроссплатформенное программирование С/С++ 3 27.07.2016 16:08
Вместо перехода по ссылке, открытие новой формы в WebBrowser Dennis777 Общие вопросы Delphi 11 20.03.2014 20:25
Открытие листа по ссылке cabanbaraban Microsoft Office Excel 4 04.03.2011 12:09
открытие *pdf файла по ссылке opel.omega Общие вопросы Delphi 9 08.01.2009 15:29