[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка при передачи названия файла в ссылке..
linf
Переменная приходит вместе со ссылкой: /open.php?my=10
Файл 10.csv лежит в папке base.

PHP
$file File("base/$my.csv");


Почему не открывается файл?



Спустя 18 минут, 44 секунды (1.07.2009 - 19:55) twin написал(а):
Не хочет наверно... Того что ты написал совершенно недостаточно, чтобы сделать какое бы то нибыло предположение.

Спустя 50 секунд (1.07.2009 - 19:55) PandoraBox2007 написал(а):
PHP
<?php

$my 
= basename($_GET['my']);

if (isset(
$_GET['my']))
{
  
$row = 1;
  
$handle = fopen("$my.csv", "r");
  
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
  {
      $num = count($data);
      echo "<p> $num fields in line $row: <br /></p>\n";
      $row++;
      for ($c=0; $c < $num; $c++) {
          echo $data[$c] . "<br />\n";
  
    }
  }
  
fclose($handle);
}

Спустя 6 часов, 36 секунд (2.07.2009 - 01:56) linf написал(а):
Огромное спасибо. Первую задачу решил.

Теперь вопрос вот в чем:

У меня этих баз CSV 78 штук. Соответственно $my может быть равно от 01 до 78.
Так как переменная передается в ссылке:
Код
open.php?my=01


как сделать так, что бы если пользователь случайно не подствил туда что то еще, тоесть если значение отличное от нужных, то вывести скажем: "Такой базы не существует" (Прошу так же учесть то, что пользователь может туда подставить и текстовую информацию)


Спустя 12 часов, 23 минуты, 33 секунды (2.07.2009 - 14:20) PandoraBox2007 написал(а):
PHP
if (!file_exists("$my.csv"))
{
  die(
"Файл '$my.csv' не существует.");
}

Спустя 2 часа, 33 минуты, 1 секунда (2.07.2009 - 16:53) linf написал(а):
PandoraBox2007 а почему вот так не получается:

PHP
if (!file_exists("$my.csv"))

header("Location: /error.php"); 
}


Может что то не так пишу?

Спустя 21 минута, 43 секунды (2.07.2009 - 17:14) PandoraBox2007 написал(а):
путь к файлу еще относительный или полный

Спустя 14 минут, 3 секунды (2.07.2009 - 17:28) linf написал(а):
PandoraBox2007, с путем все в порядке

Пишет:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/open.php:4) in /var/www/open.php on line 11

Warning: file(base/99.csv) [function.file]: failed to open stream: No such file or directory in /var/www/open.php on line 17

=((

я так понимаю, если если на этот файл я тоже перешел функцией header(), то больше не могу её исользовать? если так, то как быть?

P.S. open.php это сам этот файл в котором скрипт проверки..

Спустя 1 час, 21 минута, 37 секунд (2.07.2009 - 18:50) jetistyum написал(а):
как у тебя с английским?
просто перевести сообщение об ошибке сложнее чем придумать его перевод???

Спустя 48 минут, 33 секунды (2.07.2009 - 19:39) PandoraBox2007 написал(а):
PHP
if (!file_exists("$my.csv"))
{
 
  header
("Location: /error.php"); 
  die
();
}
надо ставить до а не после процедуры smile.gif

я бы сказал даже в самом начале после открытия сессии если она есть

Спустя 3 часа, 24 минуты, 3 секунды (2.07.2009 - 23:03) linf написал(а):
PandoraBox2007, ок, разобрался, просто было между уточнением переменной
PHP
$my basename($_GET['my']);


и

PHP
if (!file_exists("$my.csv"))

  
header("Location: /error.php"); 
  die();
}


были лишние операторы, типа:

PHP
echo "<TABLE><TR><TD>";


PandoraBox2007, Большое спасибо за помощь, тут есть гденибуть на форуме рейтинг, что бы я мг тебе плюсик поставить? =))))

Спустя 54 минуты, 42 секунды (2.07.2009 - 23:57) PandoraBox2007 написал(а):
я вижу у тебя в имени файла содержится числовой набор будет логичней использовать

PHP
$my = (!empty($_GET['my']) && is_numeric($_GET['my'])) ? intval($_GET['my']) : '10';


если нет значение авто присвоение

Спустя 2 дня, 2 часа, 34 минуты, 50 секунд (5.07.2009 - 02:32) linf написал(а):
Не второй способ, честно говоря пока сложноват для понимания, а мне главное делать и понимать как это работает. А первый вполне подошел, за что и благодарен.

Помоги если не сложно с подсчетом суммы в строках всех баз, и нахождением минимума и максимума...
Вот ссылка с этой темой:
http://phpforum.ru/index.php?showtopic=19103


_____________
Live in new format =)
Быстрый ответ:

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