Как я могу получить файлы из папки на жестком диске и как отобразить загруженные данные файла в текстовое поле - PullRequest
0 голосов
/ 05 февраля 2010

Я сделал заявку, в которой я спрашиваю имя пользователя, пароль, идентификатор электронной почты и резюме пользователя. Теперь после загрузки резюме я сохраняю его на жесткий диск в htdocs / uploadedfiles / .. в формате, похожем на этот username_filename. В базе данных я храню имя файла, размер файла, тип файла. Некоторая кодировка для этого я показываю здесь

$filesize=$_FILES['file']['size'];
$filename=$_FILES['file']['name'];
$filetype=$_FILES['file']['type'];
$temp_name=$_FILES['file']['tmp_name'];   //temporary name of uploaded file
$pwd_hash = hash('sha1',$_POST['password']);        



$target_path = "uploadedfiles/";
$target_path = $target_path.$_POST['username']."_".basename( $_FILES['file']['name']); 

move_uploaded_file($_FILES['file']['tmp_name'], $target_path) ;   

$sql="insert into employee values    ('NULL','{$_POST[username]}','{$pwd_hash}','{$filename}','{$filetype}','$filesize',NOW())";

Теперь у меня два вопроса 1. Как теперь я могу отобразить данные этого файла в текстовой области (что-то вроде раздела резюме naukri.com)? 2. Как можно получить этот файл резюме из папки на жестком диске? Какой запрос я должен написать, чтобы получить этот файл из этой папки? Я знаю, как извлечь данные из базы данных, но я не знаю, как извлечь данные из папки на жестком диске, как в случае, если пользователь хочет удалить этот файл или он хочет загрузить этот файл. Как я могу это сделать?


Извините, я не должен сам давать ответ на вопрос .. Но это необходимо для решения ..

$row=mysql_fetch_array($result);
$a='uploadedfiles/deepak.narwal_Deepak_resume revised'; //this is file name which i want to open.
$content = file_get_contents($a);

Это то, что я использовал для отображения данных, хранящихся в этом файле

Resume
<textarea rows="50" cols="70" name="feedback"><?php echo $content; ?></textarea>

Но когда я запускаю файл, появляется следующая ошибка Предупреждение: file_get_contents (uploadedfiles / deepak.narwal_Deepak_resume исправлено) [function.file-get-contents]: не удалось открыть поток: нет такого файла или каталога в F: \ Study Material \ Linux \ xampp \ htdocs \ test.php в строке 26 .Но этот файл находится в той директории, которую я проверил вручную

i also tried like this
 $row=mysql_fetch_array($result);
    $a=row['File Path']; //this path is stored in database.file is there sure
    $content = file_get_contents($a);

1 Ответ

0 голосов
/ 05 февраля 2010

Предполагая, что вы получили путь к файлу из базы данных:

$content = file_get_contents($path_to_file); загрузит все содержимое файла в строку $content. Вы могли бы тогда сделать:

<textarea>
<?php echo $content; ?>
</textarea>

чтобы отобразить его.

Чтобы удалить файл, вы должны использовать unlink($path_to_file); либо непосредственно перед, либо после удаления необходимой записи из БД (или установки нулевого столбца пути к файлу).

Теперь, поскольку путь, который вы храните в БД, вы НЕ хотите использовать относительный путь. Всегда используйте абсолютный путь. так вместо:

$target_path = "uploadedfiles/";
$target_path = $target_path.$_POST['username']."_".basename( $_FILES['file']['name']);

вы бы сделали:

$target_path = "uploadedfiles/";
$target_path = realpath($target_path.$_POST['username']."_".basename( $_FILES['file']['name']));

Вы также, вероятно, захотите удалить что-нибудь странное (пробелы, специальные символы и т. Д.) Из имени файла, когда оно входит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...