Intereting Posts
Использование API Google Directory для извлечения всех пользователей в домене как получить результаты поиска от строки до переменной эха Как перенаправить пользователей на свои идентификационные URL / целевые страницы после входа в систему? Получите наиболее повторяющиеся аналогичные поля в базе данных MySQL $ _SERVER И $ _SERVER Проблема с обнаружением Создать php fom выбрать несколько значений, взятых из таблицы bd Могу ли я использовать xslt для отображения выпадающего меню mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, boolean given Импорт 14-значной метки времени из CSV в MySQL и избежание удаления данных heredoc с выполнением eval-кода Исключение исключений из Guzzle AWS PHP SDK 2 (aws.phar) не работает с Restler Framework отправка электронной почты с помощью функции php mail распространяется на спам Запретить перезагрузку страницы и перенаправление на форму submit ajax / jquery Ошибка синтаксиса PHP … неожиданный T_VARIABLE?

Как загрузить загруженные файлы с помощью php

ОК. Я ищу на этом сайте С 24 августа 2011 года (не это важно) для способа отображения файлов, которые были загружены пользователем. У меня есть моя форма на стороне администратора, и все работает нормально. У меня также есть таблица, отображающая все, что пользователь заполнил в форме, которая также работает. Но я не могу просмотреть файл или его имя в таблице.

В моей таблице базы данных есть первичный идентификатор auto_increment int (11) без знака.

Вот код, который я написал:

//This gets all the other information from the form $company=$_POST['company']; $location=$_POST['location']; $pic=($_FILES['userfile']['name']); $query = "INSERT INTO user_DB VALUES ('','$company', '$location', '$userfile' )"; //target to the path of my files $target_path = "uploads/post_id/"; if(!is_dir($target_path)) mkdir($target_path); $uploadfile = $target_path . basename($_FILES['userfile']['name']); //Move the uploaded file to $taget_path (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)); 

В форме, которую вы заполняете, у меня есть следующее:

 <tr> <td><label for="company_name">Company Name</label></td> <td><input type="text" name="company" id="company" value="" size="38" /></td> </tr> <tr> <td><label for="location">Location</label></td> <td><input type="text" name="location" id="location" value="" /></td> </tr> <tr> <td>Upload a File:</td> <td><input name="userfile" id="userfile" type="file" /></td> </tr> 

Таблица, которая находится на передней панели, которая отображает результаты запроса, выглядит так: только файл feild.

 echo "<td>"; echo "<a href=../admin/uploads/post_id/> $row'userfile'</a>"; echo "</td>"; 

Итак, как вы можете видеть, я пытаюсь получить имя файла, а также сам файл. Если его pdf / jpg / doc я должен иметь возможность просматривать / загружать его, когда я нажимаю ссылку.

Муравьиные идеи …

Solutions Collecting From Web of "Как загрузить загруженные файлы с помощью php"

Некоторые предложения о том, что вы можете изменить, чтобы это работало.

1. Загрузить форму

Как выглядит ваш тег формы? Не забудьте включить параметр enctype как enctype ниже:

 <form type="post" action="" enctype="multipart/form-data"> ... </form> 

2. Санитария

 $company = mysql_real_escape_string($_POST['company']); $location = mysql_real_escape_string($_POST['location']); $pic = mysql_real_escape_string($_FILES['userfile']['name']); 

Вышеупомянутые строки являются первым шагом, помогающим предотвратить ваши запросы от атак SQL-инъекций.

3. SQL-запрос

$userfile не существует, поскольку вы фактически назначили имя файла $pic поэтому ваш запрос должен выглядеть так:

 $query = "INSERT INTO user_DB VALUES ('','$company', '$location', '$pic')"; 

4. Выход HTML

Теперь, чтобы связать файл с вашей выходной таблицей:

 echo "<td>"; echo "<a href=" . $target_path . basename($row['userfile']) . "> {$row['userfile']}</a>"; echo "</td>"; 

я думаю, это может заменить это

 $query = "INSERT INTO user_DB VALUES ('','$company', '$location', '$userfile' )"; 

с

 $query = "INSERT INTO user_DB VALUES ('','$company', '$location', '$pic' )"; 

Что-то очень основное, что вы, возможно, пропустили, это форма enctype. Многие начинающие делают это. Поэтому просто проверьте, есть ли атрибут enctype в форме.

 <form enctype="multipart/form-data"> 

Только если у вас есть это, вы можете загружать файлы через свои формы. Другое место, где вы, возможно, пошло не так,

 $query = "INSERT INTO user_DB VALUES ('','$company', '$location', '$userfile' )"; 

Вы сохраняете имя файла в переменной $ pic, но здесь вы указали $ userfile, поэтому просто попробуйте изменить это на $ pic.

вы можете использовать один столбец как auto_increament

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

$ qry = mysql_qyery ("select * from users "); и вы можете получить счет пользователя, используя

$ count = mysql_num_rows ($ qry); поэтому после этого вы вставляете нового пользователя, и его идентификатор будет

$ count1 = $ count + 1; $ id = 'F'. $ count1;