Я хочу получить полный путь изображения в PHP. Я использовал <input>
для загрузки изображения. Я не могу получить полный путь. когда я предупреждаю значение <input type="file">
, я получаю
с: /fake-path/image.jpg
Вот мой код:
<input type="file" name="upload_captcha_background" id="upload_captcha_background" />
var file_path= jQuery("#upload_captcha_background").val();
alert(file_path);
и в PHP я получаю значение как:
$ux_image_path =$_FILES['upload_captcha_background'];
Если вы имеете в виду путь, по которому изображение находилось на компьютере пользователя, прежде чем он загрузил его в вашу форму, вы никогда не сможете узнать его в php или javascript или где-либо еще.
В PHP вы можете увидеть путь на SERVER (обычно во временной папке), где файл был сохранен, чтобы вы могли его прочитать или скопировать. Если может случиться так, что сервер также будет вашим компьютером пользователя (т.е. Вы тестируете сайт на http://localhost), но не путайте эти две вещи.
структура для
$ _FILES []
следующим образом /* Array ([image] => Array ([name] => Array ([0] => 400.png) [type] => Array ([0] => image/png) [tmp_name] => Массив ([0] =>/tmp/php5Wx0aJ) [ошибка] => Массив ([0] => 0) [размер] => Массив ([0] => 15726))) */
если вы пытаетесь загрузить файл и скопировать его в каталог, используйте следующий код
$tmp_name = $_FILES['upload_captcha_background']["tmp_name"];
$name = $_FILES['upload_captcha_background']['name'];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
Вы никогда не можете быть уверены в том, чтобы получить полный путь к файлу или даже надежное имя файла или тип содержимого, представленные в файле загрузки файлов.
вы никогда не должны этого делать.... и я думаю, что попробовать его в последних браузерах бесполезно (из того, что я знаю).. все последние браузеры, с другой стороны, не позволят этого.
Некоторые связанные вопросы Stackoverflow: