Итак, у меня есть форма, которая передает файл на мой сервер.Что меня интересует, так это отправка только полного имени файла на сервер.В настоящее время мой код выглядит следующим образом:
<form action="upload.php" method="POST" >
<table align="center">
<tr>
<td align="right">
Select your file to upload:
</td>
<td>
<input name="userfile" type="file" size="50">
</td>
</tr>
</table>
<table align="center">
<tr>
<td align="center">
<input type="submit" name="submit" value="Upload image" />
</td>
</tr>
</table>
</form>
Когда форма переходит к upload.php, значение, которое я получаю для $ _POST ['userfile'], является 'именем' файла, который я передаю,Я ищу, чтобы получить полный путь из этого поля, а не просто имя файла.Интересно, есть ли у кого-нибудь рекомендации для файлового браузера на стороне клиента, который может это вернуть, или, возможно, другой способ оценки этой формы для получения этих данных, я был бы очень признателен.Я попытался добавить 'enctype = "multipart / form-data" "к определению формы, и что действительно удивительно, так это то, что я не получаю никакой информации о форме на своей странице загрузки - это совершенно другая проблема.В любом случае, спасибо за любую помощь.
Редактировать
Уточните мой вопрос ... Я пытаюсь загрузить большие файлы на свой веб-сервер.HTTP формы ломаются после 100 мег или кто знает.С FTP трудно управлять в 30 системах с 10 различными пользователями, которые не знают, как определить, почему их клиент не может подключиться.Я пишу веб-форму для загрузки файлов на мой сервер, когда эти люди покончили с ними.Я пытаюсь найти решение для этого.Вышеуказанный скрипт должен передать мой полный путь к файлу следующего скрипта:
<?
set_time_limit(300);
var_dump($_FILES);
var_dump($_POST);
$filep=$_POST['userfile'];
$name=$_POST['userfile']['name'];
echo($filep);
echo($name);
$paths="test";
$ftp_server="localhost";
$ftp_user_name="digitaljedi";
$ftp_user_pass="dontworryaboutit";
// set up a connection to ftp server
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection and login result
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has encountered an error!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name....";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name".".....";
}
// upload the file to the path specified
$upload = ftp_put($conn_id, $paths.'/'.$name, $filep, FTP_BINARY);
// check the upload status
if (!$upload) {
echo "FTP upload has encountered an error!";
} else {
echo "Uploaded file with name $name to $ftp_server ";
}
// close the FTP connection
ftp_close($conn_id);
?>
Если я добавлю тип кодировки в форму, я получу данные NO $ _POST и данные NO $ _FORMв upload.php, а точнее, неопределенные индексы для 'userfile'.Как это сидит;Если я загружаю, скажем ... 'C: \ users \ digitaljedi \ wtf.txt' - я получаю "wtf.txt" на другом конце.
.....
Я только что попытался настроить мой PHP для использования статического пути, а не пути из формы, и я все равно не смог открыть файл.Очевидно, ftp_put использует файловую систему сервера, что полностью отрицает всю мою теорию здесь.
Теперь я хочу знать следующее;НЕТ ли решения для загрузки больших файлов через веб-страницу?Я нашел флэш-загрузчик, но, похоже, он ограничен 100 мегабайтами (в документации сказано, что это все, что позволяет флэш-память).Это становится больше проблем, чем стоит.