[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 3 вопроса по input type file
Страницы: 1, 2
karm
Всем привет, такие вопросики

1. можно ли вывести в переменную название загружаемого файла, при загрузке на сервер
<input type file>
например я загружаю картинку с названием "home.jpg"
и вот, присвоить переменной $a = home;


2. Можно по <a href=''></a> узнать сколько раз кликали на ссылке?

3. Как сделать отображения индикатора загрузки файла?
sergeiss
karm, у тебя вопросы по клиентской части. Поэтому переношу в раздел JavaScript.

По вопросам.
1. Можно smile.gif Делай это в обработчике изменения содержимого этого инпута.
2. Можно.
3. Используй для загрузки файла аякс - там индикатор загрузки легко делается.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Kusss
1) Из примера по документации basename
// your file
$file = 'image.jpg';

$info = pathinfo($file);
$file_name = basename($file,'.'.$info['extension']);

echo $file_name; // outputs 'image'

Ну или средставами JavaScript.

2) Поветить какой нибудь индефикатор, скажем добавить в GET параметр.
<a href="text.php?url=1">...</a> - на одной странице
<a href="text.php?url=2">...</a> - на другой странице

if (isset($_GET['url'])) {
$id = (int)$_GET['url'];
// Ну и дальше записываем/обновляем куда нужно
// при желании из адресной строки выкидываем GET парамерт и делаем редирект без него.

header('Location: '.$url );
die();
}


3) "загрузка файлов с индикатором" в поисковике.
sergeiss
Kusss, мне так кажется, что ТС хочет имя файла именно в браузере показывать - судя по вопросу.
Иначе ему прямая дорога читать всё о загрузке файлов http://php.net/manual/ru/features.file-upl...post-method.php


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
karm
Цитата (sergeiss @ 14.04.2017 - 16:15)
Kusss, мне так кажется, что ТС хочет имя файла именно в браузере показывать - судя по вопросу.
Иначе ему прямая дорога читать всё о загрузке файлов http://php.net/manual/ru/features.file-upl...post-method.php

да) что-то там я сглупил у я же нашел по первому

а по второму я имел ввиду если прмая ссылка на загрузку файла, можно ли отследить клик? <a href='audio.mp3'>Скачать</a>

а по третьему вопросу - я стал учить ajax что там так сложно все, это реально вообще его выучить?
Kusss
Цитата (karm @ 19.04.2017 - 11:46)
а по второму я имел ввиду если прмая ссылка на загрузку файла, можно ли отследить клик? <a href='audio.mp3'>Скачать</a>
А ты не давай прямых ссылок на файл, а дай на страницу, которая будет отдавать файл.
<a href="download.php?name=33nTayEnN3.jpg">скачать</a>

ну и файл который отдает файл, в котором перед отправлением можно записать что хочешь .
можно передавать номер записи в базе, вместо наименования файла.
<?php	
if (isset($_GET['name'])) {
// Путь к файлу , в данном примере из папки где лежит файл , плюс папка img
$fullPath = $_SERVER['DOCUMENT_ROOT'].'/img/'.$_GET['name'];

if (file_exists($fullPath)) {

if (ob_get_level()) {
ob_end_clean();
}

// заставляем браузер показать окно сохранения файла
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($fullPath));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($fullPath));
// читаем файл и отправляем его пользователю
readfile($fullPath);
exit;
}

// Тут редирект что файл не найден
exit;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.