Итак, у меня есть форма, которая передает файл на мой сервер. Я заинтересован в том, чтобы отправлять только полное имя файла на сервер. В настоящее время мой код выглядит следующим образом:Как передать полное имя файла через веб-форму?
<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" в определение формы, и действительно удивительно то, что я не получаю никакой информации о форме на моей странице загрузки - это совершенно другая проблема. В любом случае, спасибо за любую помощь.
Редактировать
Elaborate на мой вопрос ... Я пытаюсь загружать большие файлы на веб-сервер. HTTP Forms ломаются после 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, и данные $ _FORM в загрузке .php, а скорее, неопределенные индексы в «файл пользователя». Когда он сидит; Если я загружу, скажите ... 'C: \ users \ digitaljedi \ wtf.txt' - я заканчиваю с 'wtf.txt' на другом конце.
.....
Я просто пытался регулировать мой PHP использовать статический путь, а не один из формы, и я в конечном итоге не в состоянии открыть файл в любом случае. По-видимому, ftp_put использует файловую систему сервера, что полностью отрицает всю мою теорию.
Теперь, что я хочу знать, так это; есть ли решение для загрузки больших файлов через веб-страницу? Я нашел флеш-загрузчик, но он, кажется, ограничен 100 мегабайтами (документация говорит, что это все позволяет вспышку). Это становится больше проблем, чем того стоит.
Полный путь на этом этапе - это имя файла. Что вы пытаетесь достичь? –
http://stackoverflow.com/questions/81180/how-to-get-the-file-path-from-html-input-form-in-firefox-3 и http://stackoverflow.com/questions/1676070/input-type-file-ie-дает-full-path-ff-дает-only-filename-or-directory-bro –
Пока я пытаюсь избежать встречного заграждения «вы не должны делать это, как это, - я предположим, если вы должны знать - я пытаюсь обойти ограничения загрузки файла HTTP. Для этого я пытаюсь разрешить пользователю передать полное имя файла моему скрипту php, а затем загрузить его через ftp в том же скрипте. Есть много сценариев «ftp», которые плавают вокруг, но ни один из них не работает безупречно. Я нашел пример на google (который был легко самым прямым), который передал мне (почти точно) вышеприведенную форму и небольшой фрагмент php, но по какой-то причине я не получаю данные – DigitalJedi805