загрузить файл с php и сохранить путь к sql

Кто-нибудь знает хороший учебник о том, как загрузить файл с помощью php и сохранить путь к файлу на сервере sql?

Для загрузки файла вам нужна хотя бы форма HTML POST с кодировкой multipart/form-data . В этом случае вы вводите поле input type="file" чтобы просмотреть файл и кнопку отправки, чтобы отправить форму.

 <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit"> </form> 

В upload.php загруженный файл $_FILES с именем поля в качестве ключа.

 $file = $_FILES['file']; 

Вы можете получить его имя следующим образом:

 $name = $file['name']; 

Вам нужно перенести его в постоянное место с помощью move_uploaded_file() , иначе он потеряется:

 $path = "/uploads/" . basename($name); if (move_uploaded_file($file['tmp_name'], $path)) { // Move succeed. } else { // Move failed. Possible duplicate? } 

Вы можете сохранить путь в базе данных обычным способом:

 $sql = "INSERT INTO file (path) VALUES ('" . mysqli_real_escape_string($path) . "')"; // ... 

С http://www.w3schools.com/php/php_file_upload.asp

HTML

 <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html> 

PHP

 <?php if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; //<- This is it } } ?> 

Обратите внимание, что для загрузки файла вам необходимо указать путь для сохранения файла. Если вы сохраните файл, вы уже знаете его путь.