#php #csv
#php #csv
Вопрос:
Можно ли добавить абсолютный путь http://domain
к filename.jpg
? Я не хочу редактировать файл csv и добавлять его вручную в домен (http://).
База данных SQL
ID | заголовок | имя файла |
---|---|---|
1 | заголовок 1 | имя файла 1.jpg |
2 | заголовок 2 | имя файла 2.jpg |
3 | заголовок 3 | имя файла 3.jpg |
4 | заголовок 4 | имя файла 4.jpg |
$sql = "SELECT caption, filename
FROM table"
$result = $database->query($sql);
function getRow($result) {
return $result->fetch_assoc();
}
if (isset($_POST['download'])) {
$file_name = 'csv_file.csv';
header('Content-Type: text/csv');
header("Content-Disposition: attachment;filename=$file_name");
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
$csvoutput = fopen('php://output', 'w');
$row = getRow($result);
$headers = array_keys($row);
fputcsv($csvoutput, $headers);
fputcsv($csvoutput, $row);
while ($row = getRow($result)) {
fputcsv($csvoutput, $row);
}
fclose($csvoutput);
exit;
}
Вывод CSV
Жаль, что у меня не было такого результата. Теперь только то, что filename.jpg — filename2.jpg …
ID | заголовок | имя файла |
---|---|---|
1 | заголовок 1 | http://domain/filename1.jpg |
2 | заголовок 2 | http://domain/filename2.jpg |
3 | заголовок 3 | http://domain/filename3.jpg |
4 | заголовок 4 | http://domain/filename4.jpg |
Комментарии:
1. Имена файлов никогда не являются URL-адресами . URL-адреса должны присутствовать для кнопки загрузки.
2. @nice_dev я не понимаю. Можете ли вы привести мне какой-нибудь пример?
3. Имена файлов должны отображаться непосредственно в виде имен, поскольку они находятся на диске. Если пользователь хочет загрузить его, вы можете создать ссылку с тегом привязки в качестве опции загрузки. Какой смысл использовать имена файлов в качестве HTTP-URL-адресов?
4. @nice_dev
What's the point of having file names as http URLs?
для интернет-магазинов5. @nice_dev Мне нужно отправить csv-файл с 65 000 записей с полным путем для изображений.
Ответ №1:
Это то, что вы ищете?
$sql = "SELECT caption, concat('http://example.com/', filename) as filename
FROM table";
Комментарии:
1. серьезно, это было так просто 🙂 Я не знал, что это может быть так, и я потратил на это 2 дня