powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Ошибка при удалении файла
11 сообщений из 11, страница 1 из 1
[PHP] Ошибка при удалении файла
    #38368423
Edea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выгружаю данные из таблицы в эксель..
сам эксель - иероглифы выгружаются и показывается ошибка:
Код: sql
1.
<b>Warning</b>:  unlink(C:\Program Files (x86)\EasyPHP-5.3.9\www\tmp\BFE6.tmp) [<a href='function.unlink'>function.unlink</a>]: Permission denied in <b>C:\Program Files (x86)\EasyPHP-5.3.9\www\unloading.php</b> on line <b>194</b>



при этом формируется tmp файл
если его открыть экселем то все гуд...
что за ошибка?
как исправить?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
<?php
error_reporting(E_ALL ^ E_NOTICE);
define('INC_FILE', true);
$db = require_once('includes/db.php');
$query = '
	SELECT
...идет выборка данных...
';
$options =  array("Scrollable" => SQLSRV_CURSOR_KEYSET);
$db_result = sqlsrv_query($db, $query, array(), $options);
if (sqlsrv_num_rows($db_result) == 0)
{
	exit('Нечего выгружать.');
}
require_once('./includes/class.writeexcel_workbook.inc.php');
require_once('./includes/class.writeexcel_worksheet.inc.php');
$fname = tempnam('./tmp', '');
$workbook = new writeexcel_workbook($fname);
$worksheet = $workbook->addworksheet();
$worksheet->write(0, 0, iconv('UTF-8', 'windows-1251', 'id'));
$worksheet->write(0, 1, iconv('UTF-8', 'windows-1251', 'Отвественное лицо'));
$worksheet->write(0, 2, iconv('UTF-8', 'windows-1251', 'Дата возникновения'));
$worksheet->write(0, 3, iconv('UTF-8', 'windows-1251', 'Дата обнаружения'));
...идет описание полей..
$count = 1;
while (false != ($result = sqlsrv_fetch_object($db_result)))
{
	switch (substr($result->date_discovery, 2, 2)) {
		case 01:
			$month = 'Январь';
			break;
		case 02:
			$month = 'Февраль';
			break;
		case 03:
			$month = 'Март';
			break;
		case 04:
			$month = 'Апрель';
			break;
		case 05:
			$month = 'Май';
			break;
		case 06:
			$month = 'Июнь';
			break;
		case 07:
			$month = 'Июль';
			break;
		case 08:
			$month = 'Август';
			break;
		case 09:
			$month = 'Сентябрь';
			break;
		case 10:
			$month = 'Октябрь';
			break;
		case 11:
			$month = 'Ноябрь';
			break;
		case 12:
			$month = 'Декабрь';
			break;
	}
	if (strlen($result->startdate_incident) == 8)
		$result->startdate_incident = substr_replace(substr_replace($result->startdate_incident, '-', 2, 0), '-', -4, 0);
	if (strlen($result->date_discovery) == 8)
		$result->date_discovery = substr_replace(substr_replace($result->date_discovery, '-', 2, 0), '-', -4, 0);
	if (strlen($result->enddate_incident) == 8)
		$result->enddate_incident = substr_replace(substr_replace($result->enddate_incident, '-', 2, 0), '-', -4, 0);
	if (strlen($result->closedate_incident) == 8)
		$result->closedate_incident = substr_replace(substr_replace($result->closedate_incident, '-', 2, 0), '-', -4, 0);
	$worksheet->write($count, 0, iconv('UTF-8', 'windows-1251', $result->id));
	$worksheet->write($count, 1, iconv('UTF-8', 'windows-1251', $result->user_name));
	..описание полей..
	$count ++;
}
$workbook->close();
header('Content-Type: application/x-msexcel; name="Выгрузка.xls"');
header('Content-Disposition: inline; filename="Выгрузка.xls"');
$fh = fopen($fname, 'rb');
fpassthru($fh);
unlink($fname);
?>
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368437
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edeaчто за ошибка?Вы пытаетесь удалить открытый файл:
автор
Код: php
1.
2.
3.
$fh = fopen($fname, 'rb');
fpassthru($fh);
unlink($fname);





Edeaкак исправить?Вариантов несколько. Можно закрыть файл перед удалением. Можно использовать другую функцию, которая не требует явного открытия и закрытия файла.
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368440
Edea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/ Можно закрыть файл перед удалением/

а как его закрыть?
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368452
Trololoshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleEdeaчто за ошибка?Вы пытаетесь удалить открытый файл:
автор
Код: php
1.
2.
3.
$fh = fopen($fname, 'rb');
fpassthru($fh);
unlink($fname);





Edeaкак исправить?Вариантов несколько. Можно закрыть файл перед удалением. Можно использовать другую функцию, которая не требует явного открытия и закрытия файла.



Можно закрыть файл перед удалением. Закрыть файл через fopen() перед функцией unlink выдаст ошибку.

Можно использовать другую функцию, которая не требует явного открытия и закрытия файла. Например?
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368477
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TrololoshkaМожно закрыть файл перед удалением. Закрыть файл через fopen() перед функцией unlink выдаст ошибку.Вообще то, fopen() открывает файл, fclose() закрывает.


TrololoshkaМожно использовать другую функцию, которая не требует явного открытия и закрытия файла. Например?Заглядывайте иногда в мануал . Там есть ответы на большинство вопросов.
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368481
Edea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle а как мне быть? подскажи
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368496
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно "как"? Как прочитать десяток строк в мануале или что-то другое?
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368498
Edea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как решить проблему мою
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368671
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38368970
Trololoshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Edeaкак решить проблему мою


Нужно вставить
Код: sql
1.
ob_end_clean();

перед
Код: sql
1.
fpassthru($fh);
...
Рейтинг: 0 / 0
[PHP] Ошибка при удалении файла
    #38369489
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TrololoshkaНужно вставить
Код: sql
1.
ob_end_clean();


перед
Код: sql
1.
fpassthru($fh);

Хорошая бомба замедленного действия :-)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Ошибка при удалении файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]