Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конвертер Exel -> Html, Не могу передать параметр скрипту :( 
V
    Опции темы
клоп
Дата 2.5.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Доброго дня!!
Решил написать скрипт, помогающий юзерам не знающим HTML формировать простенькие таблицы собственного дизайна.

Суть скрипта в следующем: Юзер загружает Exel файл, сохраненный в формате CSV на сервак в папку =download=, где скрипт определяет сколько колонок будет у данной таблицы. Дальше юзер выбирает дизайн и кликает на просмотр. В итоге если его все утроило получает код HTML.

На данном этапе разработки скрипта не могу добиться чтобы скрипту передавался параметр имени загруженного файла строка 300 кода
Вот код скрипта:
Код

<?php
error_reporting (E_ALL ^ E_NOTICE);



$bordercolor = $_POST['bordercolor'];
$sizefont = $_POST['sizefont'];
$even = $_POST['even'];
$odd = $_POST['odd'];
$wide = $_POST['wide'];
$font = $_POST['font'];
$width = $_POST['width'];
$colorfont = $_POST['colorfont'];
$filename = $_POST['filename'];
$download = $_POST['download'];


?>

<html>

<head>
  <title>EXEL->HTML, конвертация таблиц </title>
 <META HTTP-EQUIV="Content-type" CONTENT="text/html;charset=WINDOWS-1251">
 <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
 
  
</head>
<STYLE type=text/css>
body{margin-top:0px;
    margin-left:0px;
    margin-right:0px;
    margin-bottom:0px;
    
    cursor:default;
    
    }    
td{font-size:7pt;
    text-align:left;
    font-family:Verdana,Tahoma,Arial;}
    color:#31639c;
td.info{font-size:8pt;
    text-align:left;
    font-family:Verdana,Arial;}
td.r{font-size:8pt;
    text-align:right;
    font-family:Verdana,Arial;}
td.rsm{font-size:7pt;
    text-align:right;
    font-family:Verdana,Arial;}    
td.c{font-size:7pt;
    text-align:center;
    font-family:Verdana,Arial;}
td.lsm{font-size:7pt;
    font-family:Verdana;}    
td.cinfo{font-size:8pt;
    text-align:center;
    font-family:Verdana,Arial;}
}
    
.txtinp {
    BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #31639c 1px solid; BORDER-LEFT: #31639c 1px solid; BORDER-RIGHT: #31639c 1px solid; BORDER-TOP: #31639c 1px solid; COLOR: #382850; FONT-SIZE: 9pt; color:#292c39;
}
.buttinp {
    BACKGROUND-COLOR: #d4d0c8; BORDER-BOTTOM: #31639c 1px ridge; BORDER-LEFT: #31639c 1px ridge; BORDER-RIGHT: #31639c 1px ridge; BORDER-TOP: #31639c 1px ridge; COLOR: #000000; FONT-SIZE: 9pt; cursor:hand;
}    
        
a:link{text-decoration:none; color:#4273a5;}
A:hover{TEXT-DECORATION: none; color:#ee0000;}
a:visited{text-decoration:none;}
</style>


<body bgcolor=#eeeeee text="004992" link="#4273a5"  vlink="#4273a5" alink="#ee0000"><center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><font face=Verdana color=#949494>&nbsp;&nbsp;&nbsp;<a href=?>Помощь в работе</a></font></td><td bgcolor=silver class="r"  height=30>

<span  style="font-size:14px; color:41557a;"><b>Exel -> HTML  конвертер</b></span>&nbsp;&nbsp;

</td></tr>

<tr><td colspan=2 class="c" bgcolor=dadada height=18>

<span  style="font-size:10px; color:de6318;">Данный скрипт конвертирует Exel - таблицы, сохраненные в формате .csv в код HTML</span>

</td></tr>

<tr><td colspan=2>

<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr>
<td width=200 class="c" bgcolor=c0c0c0 height=26><form method="post" enctype="multipart/form-data"><input type="file" name="filename" class="txtinp"></td>
<td width=180 class="c" bgcolor=c0c0c0 height=26><input type="submit" name="download" value="Загрузить .csv файл" class="buttinp"></td>
<td  class="c" bgcolor=#c0c0c0 height=18>&nbsp;
<?php




if(copy($_FILES["filename"]["tmp_name"],"download/".$_FILES["filename"]["name"]))
{

echo "Файл <font color=darkgreen>",$_FILES["filename"]["name"],"</font> успешно загружен. ";
$file = "download/".$_FILES["filename"]["name"];
$open_csv = fopen("$file", "r");
$colspan = fgets($open_csv);
fclose($open_csv);

$results_col = count_chars($colspan,0);
for($i=0;$i < count($results_col);$i++){
if ($results_col[$i] != 0 && (chr($i) === ";"))
{
$cols = $results_col[$i] + 1; 
echo "Количество столбцов в таблице - $cols";
}
}
}







?>

</td>
</tr>
</table>

</td>
</tr>
<tr bgcolor=#dadada><td colspan=2><center><font color=#999999>
По умолчанию программа сформирует таблицу с рамкой черного цвета и белыми полями, ширина таблицы будет равняться 100% от ширины экрана Вашего монитора. Цвет текста будет черным.</font> 
</center>
</td></tr>






<tr><td height=24 bgcolor=silver><font color=black>&nbsp;&nbsp;&nbsp;Для создания таблицы выберите:</b></font></td><td bgcolor=silver class="rsm"><font color=black>Цвета и их значения <font color=#666666>(выделив мышкой, скопируйте в поле ввода)</font></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
<form method=post actions="exel.php">
</table><center>

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>

<table border=0 cellspacing=0 cellpadding=0 width="360" >
<tr><td>

<table border=0 cellspacing=1 cellpadding=0 width="396" >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c"> цвет текста в таблице&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="colorfont" value="<?echo $_POST['colorfont']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет нечетных строк:&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="odd" value="<?echo $_POST['odd']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c">цвет рамки таблицы:&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="bordercolor" value="<?echo $_POST['bordercolor']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет четных строк:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="even" value="<?echo $_POST['even']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="86" bgcolor=#dddddd class="rsm">размер шрифта: <td bgcolor=#dddddd class="rsm"> <select name="sizefont" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 35px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['sizefont']?>" ><?echo $_POST['sizefont']?></option>
                                            <option value="1" >1</option>
                                            <option value="2" >2</option>
                                            <option value="3" >3</option>    
                                            </select></td> <td width=41 bgcolor=#dddddd class="rsm">
шрифт:</td><td bgcolor=#dddddd ><select name="font" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 91px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['font']?>"><?echo $_POST['font']?></option>
                                            <option value="Arial">Arial</option>
                                            <option value="Tahoma">Tahoma</option>
                                            <option value="Verdana">Verdana</option>    
                                            <option value="Times New Roman">Times New Roman</option>
                                            <option value="Georgia">Georgia</option>
                                            </select>
</td><td width="137" bgcolor=#dddddd  class="rsm" >ширина таблицы:<input type=text size=1 name="width" value="<?echo $_POST['width']?>"  maxlength=3 class="txtinp">&nbsp;px.&nbsp;    
</td></tr>    
</table>    
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="320" bgcolor=#dddddd >&nbsp;&nbsp;<input name="html" class="buttinp" type="submit" value="Если все ОК, получить код HTML"></td>
<td  bgcolor=#dddddd width="90" class="c" > <input name="wide" class="buttinp" type="submit" value="Просмотр">
                                            
    
</td></tr>    
</table>    


</td><td >&nbsp;</td><td >
<table border=0 cellspacing=1 cellpadding=1 width=400>
<tr >
<td width=30 bgcolor=#992831>&nbsp;</td><td width=30 style="cursor:text;">992831</td>
<td width=30 bgcolor=#ee0000>&nbsp;</td><td width=30 style="cursor:text;">EE0000</td>
<td width=30 bgcolor=#ff666b>&nbsp;</td><td width=30 style="cursor:text;">FF666B</td>
<td width=30 bgcolor=#ffd8dc>&nbsp;</td><td width=30 style="cursor:text;">FFD8DC</td>
<td width=30 bgcolor=#FFF0F0>&nbsp;</td><td width=30 style="cursor:text;">FFF0F0</td>
</tr>
<tr >
<td width=30 bgcolor=#984124>&nbsp;</td><td width=30 style="cursor:text;">984124</td>
<td width=30 bgcolor=#e46900>&nbsp;</td><td width=30 style="cursor:text;">E46900</td>
<td width=30 bgcolor=#F69759>&nbsp;</td><td width=30 style="cursor:text;">F69759</td>
<td width=30 bgcolor=#EFC378>&nbsp;</td><td width=30 style="cursor:text;">EFC378</td>
<td width=30 bgcolor=#F3EBDA>&nbsp;</td><td width=30 style="cursor:text;">F3EBDA</td>
</tr>
<tr >
<td width=30 bgcolor=#41557a>&nbsp;</td><td width=30 style="cursor:text;">41557A</td>
<td width=30 bgcolor=#a5b8d6>&nbsp;</td><td width=30 style="cursor:text;">A5B8D6</td>
<td width=30 bgcolor=#c0d3f1>&nbsp;</td><td width=30 style="cursor:text;">C0D3F1</td>
<td width=30 bgcolor=#d0def6>&nbsp;</td><td width=30 style="cursor:text;">D0DEF6</td>
<td width=30 bgcolor=#f6f9fd>&nbsp;</td><td width=30 style="cursor:text;">F6F9FD</td>
</tr>
<tr >
<td width=30 bgcolor=#1a3469>&nbsp;</td><td width=30 style="cursor:text;">1A3469</td>
<td width=30 bgcolor=#6884ac>&nbsp;</td><td width=30 style="cursor:text;">6884AC</td>
<td width=30 bgcolor=#bdcde4>&nbsp;</td><td width=30 style="cursor:text;">BDCDE4</td>
<td width=30 bgcolor=#c6d4e8>&nbsp;</td><td width=30 style="cursor:text;">C6D4E8</td>
<td width=30 bgcolor=#ecf2fb>&nbsp;</td><td width=30 style="cursor:text;">ECF2FB</td>
</tr>
<tr >
<td width=30 bgcolor=#233353>&nbsp;</td><td width=30 style="cursor:text;">233353</td>
<td width=30 bgcolor=#8092C6>&nbsp;</td><td width=30 style="cursor:text;">8092C6</td>
<td width=30 bgcolor=#A0B2D3>&nbsp;</td><td width=30 style="cursor:text;">A0B2D3</td>
<td width=30 bgcolor=#CED4E1>&nbsp;</td><td width=30 style="cursor:text;">CED4E1</td>
<td width=30 bgcolor=#E0E4EC>&nbsp;</td><td width=30 style="cursor:text;">E0E4EC</td>
</tr>
<tr >
<td width=30 bgcolor=#004e30>&nbsp;</td><td width=30 style="cursor:text;">004E30</td>
<td width=30 bgcolor=#00723e>&nbsp;</td><td width=30 style="cursor:text;">00723E</td>
<td width=30 bgcolor=#66a073>&nbsp;</td><td width=30 style="cursor:text;">66A073</td>
<td width=30 bgcolor=#b4dac1>&nbsp;</td><td width=30 style="cursor:text;">B4DAC1</td>
<td width=30 bgcolor=#F0FFF0>&nbsp;</td><td width=30 style="cursor:text;">F0FFF0</td>
</tr>
<tr >
<td width=30 bgcolor=#000000>&nbsp;</td><td width=30 style="cursor:text;">000000</td>
<td width=30 bgcolor=#a4a4a4>&nbsp;</td><td width=30 style="cursor:text;">D4D4D4</td>
<td width=30 bgcolor=#dedede>&nbsp;</td><td width=30 style="cursor:text;">DEDEDE</td>
<td width=30 bgcolor=#eeeeee>&nbsp;</td><td width=30 style="cursor:text;">EEEEEE</td>
<td width=30 bgcolor=#FaFaFa>&nbsp;</td><td width=30 style="cursor:text;">FAFAFA</td>



</tr>    
</table>    
                                        
    
</td></tr></table>
</center>
<br>
</td>
</tr>    
</table>    

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>


<?php  

$wide=FALSE;

if(isset($_POST['wide'])){
if($font =="")$font = "Tahoma";
if($sizefont =="")$sizefont = "2";
if($colorfont =="")$colorfont = "000000";
if($even =="")$even = "FFFFFF";
if($odd =="")$odd = "FFFFFF";
if($width =="")$width = "100%";
if($bordercolor =="")$bordercolor = "000000";




echo "<center><table border=0 cellspacing=0 cellpadding=0 width=\"$width\" >
        <tr><td valign=top  width=\"100%\">
          <table border=0 cellspacing=1 cellpadding=0 width=\"100%\" >
             <tr valign=top><td  bgcolor=\"$bordercolor\" width=\"100%\"><table border=0 cellspacing=1 cellpadding=2 width=\"100%\">";
            
$file_csv = "download/".$_FILES["filename"]["name"];
if(file_exists($file_csv)){
$open = fopen("$file_csv", "r");
$colspan = fgets($open);
fclose($open);

$res_col = count_chars($colspan,0);
for($j=0;$j < count($res_col);$j++){
if ($res_col[$j] != 0 && (chr($j) === ";"))
{
$col = $res_col[$j] + 1; 

}
}             
             
             
$f=fopen("$file_csv", "r");
 flock($f, LOCK_SH);
 while(!feof($f)){

         $line  = fgets($f);
         $line = str_replace('"""','"',$line);
         $line = str_replace('«','"',$line);
         $line = str_replace('»','"',$line);
         
         if($line == "")continue;
         $arr = explode(";", $line);
         

$row_begin = "<td><font size=\"$sizefont\" color=\"$colorfont\" face=\"$font\">";
$row_end = "</font></td>";

if($col == "2") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end";
if($col == "3") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end";
if($col == "4") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end";
if($col == "5") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end";
if($col == "6") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end";
if($col == "7") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end";
if($col == "8") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end";
if($col == "9") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end";
if($col == "10") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end";           
if($col == "11") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"; 
if($col == "12") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end";
if($col == "13") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end";   
if($col == "14") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end"; 
if($col == "15") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end"."$row_begin".$arr[14]."$row_end";     

         $n++;
         if($n%2!=0){
         echo"<tr bgcolor=\"",$odd,"\">",$row,"</tr>\n";}
         else{echo"<tr bgcolor=\"",$even,"\">",$row,"</tr>\n";}
 }
 
 flock($f, LOCK_UN);
 fclose($f);
 
echo "</table></td></tr></table></td></tr></table></center>";

}
}

?>
 
</center>
</td></tr></table></center>
</body>

</html>


Посмотрите в чем косяк? При загрузке файла прога определяет что за файл и сколько столбцов, а вот ниже уже не передает эти параметры для формирования непосредственно таблицы  smile  
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Pitc
Дата 2.5.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: 2
Всего: 2



Наверное у тебя файл  "download/".$_FILES["filename"]["name"] не существует , тк вроде 
функция file_exists() возвращает false. Сейчас PHP не установлен , так что проверить не могу. 
 
Цитата

$file_csv = "download/".$_FILES["filename"]["name"];    
if(file_exists($file_csv)){    
$open = fopen("$file_csv", "r");    
$colspan = fgets($open);    
fclose($open);


Код

while(!feof($open))
{
$colspan = fgets($open);
}
fclose($open);


А вообще если файл большой то подобные конструкции давольно медлительны. Лучше читать файл целиком при помощи File() ,если нужен доступ к каждой строке файла то  fread() 
PM MAIL ICQ   Вверх
клоп
Дата 2.5.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Цитата(Pitc @ 2.5.2006,  13:42)
Цитата

$file_csv = "download/".$_FILES["filename"]["name"];    
if(file_exists($file_csv)){    
$open = fopen("$file_csv", "r");    
$colspan = fgets($open);    
fclose($open);


Код

while(!feof($open))
{
$colspan = fgets($open);
}
fclose($open);


А вообще если файл большой то подобные конструкции давольно медлительны. Лучше читать файл целиком при помощи File() ,если нужен доступ к каждой строке файла то  fread()

Я читаю только первую строку файла .csv, чтобы получить количество столбцов+1  для формирования таблицы, так что объемы тут невелики. Так что в !feof() я не увидел необходимости. 
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
клоп
Дата 2.5.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Чтоб было более менее понятно что я делаю, выложил работающий код. Косяк в том что в строке 289 я указал явную ссылку на файл .csv, а хотелось бы чтобы скрипт брал её сам из суперглобального массива $_POST или из $_FILES, как делается в строках 105 - 116. Млина савсем запутался. выручайте плизз. Благое дело делаю, для людей так сказать.
Код

<?php
error_reporting (E_ALL ^ E_NOTICE);



$bordercolor = $_POST['bordercolor'];
$sizefont = $_POST['sizefont'];
$even = $_POST['even'];
$odd = $_POST['odd'];
$wide = $_POST['wide'];
$font = $_POST['font'];
$width = $_POST['width'];
$colorfont = $_POST['colorfont'];
$filename = $_POST['filename'];
$download = $_POST['download'];


?>

<html>

<head>
  <title>EXEL->HTML, конвертация таблиц </title>
 <META HTTP-EQUIV="Content-type" CONTENT="text/html;charset=WINDOWS-1251">
 <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
 

  
</head>
<STYLE type=text/css>
body{margin-top:0px;
    margin-left:0px;
    margin-right:0px;
    margin-bottom:0px;
    
    cursor:default;
    
    }    
td{font-size:7pt;
    text-align:left;
    font-family:Verdana,Tahoma,Arial;}
    color:#31639c;
td.info{font-size:8pt;
    text-align:left;
    font-family:Verdana,Arial;}
td.r{font-size:8pt;
    text-align:right;
    font-family:Verdana,Arial;}
td.rsm{font-size:7pt;
    text-align:right;
    font-family:Verdana,Arial;}    
td.c{font-size:7pt;
    text-align:center;
    font-family:Verdana,Arial;}
td.lsm{font-size:7pt;
    font-family:Verdana;}    
td.cinfo{font-size:8pt;
    text-align:center;
    font-family:Verdana,Arial;}
}
    
.txtinp {
    BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #31639c 1px solid; BORDER-LEFT: #31639c 1px solid; BORDER-RIGHT: #31639c 1px solid; BORDER-TOP: #31639c 1px solid; COLOR: #382850; FONT-SIZE: 9pt; color:#292c39;
}
.buttinp {
    BACKGROUND-COLOR: #d4d0c8; BORDER-BOTTOM: #31639c 1px ridge; BORDER-LEFT: #31639c 1px ridge; BORDER-RIGHT: #31639c 1px ridge; BORDER-TOP: #31639c 1px ridge; COLOR: #000000; FONT-SIZE: 9pt; cursor:hand;
}    
        
a:link{text-decoration:none; color:#4273a5;}
A:hover{TEXT-DECORATION: none; color:#ee0000;}
a:visited{text-decoration:none;}
</style>


<body bgcolor=#eeeeee text="004992" link="#4273a5"  vlink="#4273a5" alink="#ee0000"><center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><font face=Verdana color=#949494>&nbsp;&nbsp;&nbsp;<a href=?>Помощь в работе</a></font></td><td bgcolor=silver class="r"  height=30>

<span  style="font-size:14px; color:41557a;"><b>Exel -> HTML  конвертер</b></span>&nbsp;&nbsp;

</td></tr>

<tr><td colspan=2 class="c" bgcolor=dadada height=18>

<span  style="font-size:10px; color:de6318;">Данный скрипт конвертирует Exel - таблицы, сохраненные в формате .csv в код HTML</span>

</td></tr>

<tr><td colspan=2>

<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr>
<td width=200 class="c" bgcolor=c0c0c0 height=26><form method="post" enctype="multipart/form-data"><input type="file" name="filename" class="txtinp"></td>
<td width=180 class="c" bgcolor=c0c0c0 height=26><input type="submit" name="download" value="Загрузить .csv файл" class="buttinp"></td>
<td  class="c" bgcolor=#c0c0c0 height=18>&nbsp;
<?php




if(copy($_FILES["filename"]["tmp_name"],"download/".$_FILES["filename"]["name"]))
{

echo "Файл <font color=darkgreen>",$_FILES["filename"]["name"],"</font> успешно загружен. ";
$file = "download/".$_FILES["filename"]["name"];
$open_csv = fopen("$file", "r");
$colspan = fgets($open_csv);
fclose($open_csv);

$results_col = count_chars($colspan,0);
for($i=0;$i < count($results_col);$i++){
if ($results_col[$i] != 0 && (chr($i) === ";"))
{
$colss = $results_col[$i] + 1; 
echo "Количество колонок в таблице - $colss";
}
}
}







?>

</td>
</tr>
</table>

</td>
</tr>
<tr bgcolor=#dadada><td colspan=2><center><font color=#999999>
По умолчанию программа сформирует таблицу с рамкой черного цвета и белыми полями, ширина таблицы будет равняться 100% от ширины экрана Вашего монитора. Цвет текста будет черным.</font> 
</center>
</td></tr>






<tr><td height=24 bgcolor=silver><font color=black>&nbsp;&nbsp;&nbsp;Для создания таблицы выберите:</b></font></td><td bgcolor=silver class="rsm"><font color=black>Цвета и их значения <font color=#666666>(выделив мышкой, скопируйте в поле ввода)</font></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
<form method=post actions="exel.php">
</table><center>

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>

<table border=0 cellspacing=0 cellpadding=0 width="360" >
<tr><td>

<table border=0 cellspacing=1 cellpadding=0 width="396" >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c"> цвет текста в таблице&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="colorfont" value="<?echo $_POST['colorfont']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет нечетных строк:&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="odd" value="<?echo $_POST['odd']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c">цвет рамки таблицы:&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="bordercolor" value="<?echo $_POST['bordercolor']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет четных строк:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="even" value="<?echo $_POST['even']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="86" bgcolor=#dddddd class="rsm">размер шрифта: <td bgcolor=#dddddd class="rsm"> <select name="sizefont" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 35px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['sizefont']?>" ><?echo $_POST['sizefont']?></option>
                                            <option value="1" >1</option>
                                            <option value="2" >2</option>
                                            <option value="3" >3</option>    
                                            </select></td> <td width=41 bgcolor=#dddddd class="rsm">
шрифт:</td><td bgcolor=#dddddd ><select name="font" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 91px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['font']?>"><?echo $_POST['font']?></option>
                                            <option value="Arial">Arial</option>
                                            <option value="Tahoma">Tahoma</option>
                                            <option value="Verdana">Verdana</option>    
                                            <option value="Times New Roman">Times New Roman</option>
                                            <option value="Georgia">Georgia</option>
                                            </select>
</td><td width="137" bgcolor=#dddddd  class="rsm" >ширина таблицы:<input type=text size=1 name="width" value="<?echo $_POST['width']?>"  maxlength=3 class="txtinp">&nbsp;px.&nbsp;    
</td></tr>    
</table>    
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="320" bgcolor=#dddddd >&nbsp;&nbsp;<input name="html" class="buttinp" type="submit" value="Если все ОК, получить код HTML"></td>
<td  bgcolor=#dddddd width="90" class="c" > <input name="wide" class="buttinp" type="submit" value="Просмотр">
                                            
    
</td></tr>    
</table>    



</td><td >&nbsp;</td><td >
<table border=0 cellspacing=1 cellpadding=1 width=400>
<tr >
<td width=30 bgcolor=#992831>&nbsp;</td><td width=30 style="cursor:text;">992831</td>
<td width=30 bgcolor=#ee0000>&nbsp;</td><td width=30 style="cursor:text;">EE0000</td>
<td width=30 bgcolor=#ff666b>&nbsp;</td><td width=30 style="cursor:text;">FF666B</td>
<td width=30 bgcolor=#ffd8dc>&nbsp;</td><td width=30 style="cursor:text;">FFD8DC</td>
<td width=30 bgcolor=#FFF0F0>&nbsp;</td><td width=30 style="cursor:text;">FFF0F0</td>
</tr>
<tr >
<td width=30 bgcolor=#984124>&nbsp;</td><td width=30 style="cursor:text;">984124</td>
<td width=30 bgcolor=#e46900>&nbsp;</td><td width=30 style="cursor:text;">E46900</td>
<td width=30 bgcolor=#F69759>&nbsp;</td><td width=30 style="cursor:text;">F69759</td>
<td width=30 bgcolor=#EFC378>&nbsp;</td><td width=30 style="cursor:text;">EFC378</td>
<td width=30 bgcolor=#F3EBDA>&nbsp;</td><td width=30 style="cursor:text;">F3EBDA</td>
</tr>
<tr >
<td width=30 bgcolor=#41557a>&nbsp;</td><td width=30 style="cursor:text;">41557A</td>
<td width=30 bgcolor=#a5b8d6>&nbsp;</td><td width=30 style="cursor:text;">A5B8D6</td>
<td width=30 bgcolor=#c0d3f1>&nbsp;</td><td width=30 style="cursor:text;">C0D3F1</td>
<td width=30 bgcolor=#d0def6>&nbsp;</td><td width=30 style="cursor:text;">D0DEF6</td>
<td width=30 bgcolor=#f6f9fd>&nbsp;</td><td width=30 style="cursor:text;">F6F9FD</td>
</tr>
<tr >
<td width=30 bgcolor=#1a3469>&nbsp;</td><td width=30 style="cursor:text;">1A3469</td>
<td width=30 bgcolor=#6884ac>&nbsp;</td><td width=30 style="cursor:text;">6884AC</td>
<td width=30 bgcolor=#bdcde4>&nbsp;</td><td width=30 style="cursor:text;">BDCDE4</td>
<td width=30 bgcolor=#c6d4e8>&nbsp;</td><td width=30 style="cursor:text;">C6D4E8</td>
<td width=30 bgcolor=#ecf2fb>&nbsp;</td><td width=30 style="cursor:text;">ECF2FB</td>
</tr>
<tr >
<td width=30 bgcolor=#233353>&nbsp;</td><td width=30 style="cursor:text;">233353</td>
<td width=30 bgcolor=#8092C6>&nbsp;</td><td width=30 style="cursor:text;">8092C6</td>
<td width=30 bgcolor=#A0B2D3>&nbsp;</td><td width=30 style="cursor:text;">A0B2D3</td>
<td width=30 bgcolor=#CED4E1>&nbsp;</td><td width=30 style="cursor:text;">CED4E1</td>
<td width=30 bgcolor=#E0E4EC>&nbsp;</td><td width=30 style="cursor:text;">E0E4EC</td>
</tr>
<tr >
<td width=30 bgcolor=#004e30>&nbsp;</td><td width=30 style="cursor:text;">004E30</td>
<td width=30 bgcolor=#00723e>&nbsp;</td><td width=30 style="cursor:text;">00723E</td>
<td width=30 bgcolor=#66a073>&nbsp;</td><td width=30 style="cursor:text;">66A073</td>
<td width=30 bgcolor=#b4dac1>&nbsp;</td><td width=30 style="cursor:text;">B4DAC1</td>
<td width=30 bgcolor=#F0FFF0>&nbsp;</td><td width=30 style="cursor:text;">F0FFF0</td>
</tr>
<tr >
<td width=30 bgcolor=#000000>&nbsp;</td><td width=30 style="cursor:text;">000000</td>
<td width=30 bgcolor=#a4a4a4>&nbsp;</td><td width=30 style="cursor:text;">D4D4D4</td>
<td width=30 bgcolor=#dedede>&nbsp;</td><td width=30 style="cursor:text;">DEDEDE</td>
<td width=30 bgcolor=#eeeeee>&nbsp;</td><td width=30 style="cursor:text;">EEEEEE</td>
<td width=30 bgcolor=#FaFaFa>&nbsp;</td><td width=30 style="cursor:text;">FAFAFA</td>



</tr>    
</table>    
                                        
    
</td></tr></table>
</center>
<br>
</td>
</tr>    
</table>    

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>


<?php  

$wide=FALSE;
;

if(isset($_POST['wide'])){
if($font =="")$font = "Tahoma";
if($sizefont =="")$sizefont = "2";
if($colorfont =="")$colorfont = "000000";
if($even =="")$even = "FFFFFF";
if($odd =="")$odd = "FFFFFF";
if($width =="")$width = "100%";
if($bordercolor =="")$bordercolor = "000000";




echo "<center><table border=0 cellspacing=0 cellpadding=0 width=\"$width\" >
        <tr><td valign=top  width=\"100%\">
          <table border=0 cellspacing=1 cellpadding=0 width=\"100%\" >
             <tr valign=top><td  bgcolor=\"$bordercolor\" width=\"100%\"><table border=0 cellspacing=1 cellpadding=2 width=\"100%\">";
             
             

$file_csv = "download/exel.csv";             

$open = @fopen("$file_csv", "r") or die ("<font color=white>файл не загружен</font>");
$cols = fgets($open);
 

$res_col = count_chars($cols,0);
for($j=0;$j < count($res_col);$j++){
if ($res_col[$j] != 0 && (chr($j) === ";"))
{
$col = $res_col[$j] + 1; 

}
} 
    

 $f = fopen("$file_csv", "r");
 flock($f, LOCK_SH);
 while(!feof($f)){

         $line  = fgets($f);
         $line = str_replace('"""','"',$line);
         $line = str_replace('«','"',$line);
         $line = str_replace('»','"',$line);
         
         if($line == "")continue;
         $arr = explode(";", $line);
         

$row_begin = "<td><font size=\"$sizefont\" color=\"$colorfont\" face=\"$font\">";
$row_end = "</font></td>";

if($col == "2") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end";
if($col == "3") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end";
if($col == "4") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end";
if($col == "5") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end";
if($col == "6") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end";
if($col == "7") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end";
if($col == "8") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end";
if($col == "9") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end";
if($col == "10") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end";           
if($col == "11") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"; 
if($col == "12") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end";
if($col == "13") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end";   
if($col == "14") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end"; 
if($col == "15") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end"."$row_begin".$arr[14]."$row_end";     

         $n++;
         if($n%2!=0){
         echo"<tr bgcolor=\"",$odd,"\">",$row,"</tr>\n";}
         else{echo"<tr bgcolor=\"",$even,"\">",$row,"</tr>\n";}
 }

 flock($f, LOCK_UN);
 fclose($f);
 
echo "</table></td></tr></table></td></tr></table></center>";

}


?>
 
</center>
</td></tr></table></center>
</body>

</html>
  

Это сообщение отредактировал(а) клоп - 2.5.2006, 18:15
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Pitc
Дата 3.5.2006, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: 2
Всего: 2



Во первых у тебя получается пишет что файл успешно загружен даже если он расширения .exe - нужна проверка

Во вторых в теге <form> строчка 145 у тебя путь указан явно , лучше писать так :<form actions=<? echo $SCRIPT_NAME;?> и т.д. >, а в строчке 94 smile  пути вообще нет

В третьих если ты напишешь после
Код

$file_csv = "download/".$_FILES["filename"]["name"];



Код

print_r($_POST);


то увидишь что то типа этого
Код

Array ( [colorfont] => [odd] => [bordercolor] => [even] => [sizefont] => [font] => [width] => [wide] => Просмотр ()

это значит что в $_POST нет filename и name и следовательно в переменную 
Код

$file_csv = "download/".$_FILES["filename"]["name"];


запишется только download smile 

Удачи! 
PM MAIL ICQ   Вверх
клоп
Дата 3.5.2006, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Цитата(Pitc @ 3.5.2006,  01:21)
Во первых у тебя получается пишет что файл успешно загружен даже если он расширения .exe - нужна проверка

До проверок пока не дошел. Они по любому будут и на расширение и на размер загружаемого файла. А над остальным да, работы много , и судя по всему придеться париться  самому без подсказок. Спасибо за удачу!! 
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Pitc
  Дата 3.5.2006, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: 2
Всего: 2



Если правильно напишешь ссылки в теге <form>

и заменишь

строку

Код

$file_csv = "download/exel.csv";


на

Код

$file_csv = "download/".$_FILES["filename"]["name"]; 


то все работает

Насколько я понял в этом и была проблема 
PM MAIL ICQ   Вверх
Сарт
Дата 3.5.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: нет
Всего: 0



Хочу заметить, что скрипт будет работать, если  поле исходного файла не будет пустым. 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
клоп
Дата 3.5.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Цитата(Pitc @ 3.5.2006,  12:33)
Если правильно напишешь ссылки в теге <form>
и заменишь cтроку на

Код

$file_csv = "download/".$_FILES["filename"]["name"]; 


то все работает

Насколько я понял в этом и была проблема

Нет нечего не заработало. Имя файла не передается функции fopen()
Вот простой код который должен работать идентично:
Код

<?
error_reporting (E_ALL ^ E_NOTICE);


$filename = $_POST['filename'];
$upload = $_POST['upload'];
$wide = $_POST['wide'];

?>

<form method="post" enctype="multipart/form-data" action="<? echo $SCRIPT_NAME;?>"><input type="file" name="filename" >
<input type="submit" name="upload" value="Загрузить .txt файл" >
</form><br>

<?
if(copy($_FILES["filename"]["tmp_name"],$_FILES["filename"]["name"]))
{
echo "Файл ",$_FILES["filename"]["name"]," успешно загружен. ";

}
?>

<hr>
 <form method=post actions="<? echo $SCRIPT_NAME;?>">
 <input name="wide" type="submit" value="Просмотр первой строки">
 </form>
<?
$wide=FALSE;

if(isset($_POST['wide'])){

$open = fopen($_FILES["filename"]["name"], "r");
$s = fgets($open);
echo $s;
fclose($open);

}
?>


Строка 33 не получает имя файла .... smile  
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
R.M.
Дата 3.5.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



клоп, ну попробуй сначала не открыватьфайл а просто выводить $_FILES["filename"]["name"]. Да и вообще пиши не $_FILES["filename"]["name"] а $_FILES['filename']['name']. Может fopen неправильно ищет изза двойных кавычек? 


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
клоп
Дата 3.5.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Цитата(Куксикус @ 3.5.2006,  14:58)
клоп, ну попробуй сначала не открыватьфайл а просто выводить $_FILES["filename"]["name"]. Да и вообще пиши не $_FILES["filename"]["name"] а $_FILES['filename']['name']. Может fopen неправильно ищет изза двойных кавычек?

Не пашет  smile  хныыык. Даже не выводит имя. 

Warning: fgets(): supplied argument is not a valid stream resource in path\test.php on line ..
Warning: fclose(): supplied argument is not a valid stream resource in path\test.php on line ..

Код

if(isset($_POST['wide'])){
echo $_FILES['filename']['name'];
$open = fopen($_FILES['filename']['name'], "r");
$s = fgets($open);
echo $s;
fclose($open);


Мля слов нет. Чот не то с передачей параметра. Как быть вообще не знаю. Хоть фиксированное имя файла делай да проверяй загрузил ли его юзер, а потом удаляй файл когда он завершит работу. Неужели никто не делал что-то подобное? 
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Pitc
Дата 3.5.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: 2
Всего: 2



 smile Вот тебе твой  рабочий код : smile 

Код

<?php
error_reporting (E_ALL ^ E_NOTICE);



$bordercolor = $_POST['bordercolor'];
$sizefont = $_POST['sizefont'];
$even = $_POST['even'];
$odd = $_POST['odd'];
$wide = $_POST['wide'];
$font = $_POST['font'];
$width = $_POST['width'];
$colorfont = $_POST['colorfont'];
$filename = $_POST['filename'];
$download = $_POST['download'];


?>

<html>

<head>
  <title>EXEL->HTML, конвертация таблиц </title>
 <META HTTP-EQUIV="Content-type" CONTENT="text/html;charset=WINDOWS-1251">
 <META HTTP-EQUIV="Pragma" CONTENT="no-cache">



</head>
<STYLE type=text/css>
body{margin-top:0px;
    margin-left:0px;
    margin-right:0px;
    margin-bottom:0px;

    cursor:default;

    }
td{font-size:7pt;
    text-align:left;
    font-family:Verdana,Tahoma,Arial;}
    color:#31639c;
td.info{font-size:8pt;
    text-align:left;
    font-family:Verdana,Arial;}
td.r{font-size:8pt;
    text-align:right;
    font-family:Verdana,Arial;}
td.rsm{font-size:7pt;
    text-align:right;
    font-family:Verdana,Arial;}
td.c{font-size:7pt;
    text-align:center;
    font-family:Verdana,Arial;}
td.lsm{font-size:7pt;
    font-family:Verdana;}
td.cinfo{font-size:8pt;
    text-align:center;
    font-family:Verdana,Arial;}
}

.txtinp {
    BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #31639c 1px solid; BORDER-LEFT: #31639c 1px solid; BORDER-RIGHT: #31639c 1px solid; BORDER-TOP: #31639c 1px solid; COLOR: #382850; FONT-SIZE: 9pt; color:#292c39;
}
.buttinp {
    BACKGROUND-COLOR: #d4d0c8; BORDER-BOTTOM: #31639c 1px ridge; BORDER-LEFT: #31639c 1px ridge; BORDER-RIGHT: #31639c 1px ridge; BORDER-TOP: #31639c 1px ridge; COLOR: #000000; FONT-SIZE: 9pt; cursor:hand;
}

a:link{text-decoration:none; color:#4273a5;}
A:hover{TEXT-DECORATION: none; color:#ee0000;}
a:visited{text-decoration:none;}
</style>


<body bgcolor=#eeeeee text="004992" link="#4273a5"  vlink="#4273a5" alink="#ee0000"><center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><font face=Verdana color=#949494>&nbsp;&nbsp;&nbsp;<a href=?>Помощь в работе</a></font></td><td bgcolor=silver class="r"  height=30>

<span  style="font-size:14px; color:41557a;"><b>Exel -> HTML  конвертер</b></span>&nbsp;&nbsp;

</td></tr>

<tr><td colspan=2 class="c" bgcolor=dadada height=18>

<span  style="font-size:10px; color:de6318;">Данный скрипт конвертирует Exel - таблицы, сохраненные в формате .csv в код HTML</span>

</td></tr>

<tr><td colspan=2>

<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr>
<td width=200 class="c" bgcolor=c0c0c0 height=26><form actions="<?echo $SCRIPT_NAME;?>" method="post" enctype="multipart/form-data"><input type="file" name="filename" class="txtinp"></td>
<td width=180 class="c" bgcolor=c0c0c0 height=26><input type="submit" name="download" value="Загрузить .csv файл" class="buttinp"></td>
<td  class="c" bgcolor=#c0c0c0 height=18>&nbsp;
<?php




if(copy($_FILES["filename"]["tmp_name"],"download/".$_FILES["filename"]["name"]))
{
    $filename = "tmp.txt";
    if (!$handle = fopen($filename, 'w')) {
         echo "Cannot open file ($filename)";
         exit;
    }

    if (fwrite($handle, $_FILES["filename"]["name"]) === FALSE) {
        echo "Cannot write to file ($filename)";
        exit;
    }

    fclose($handle);

echo "Файл <font color=darkgreen>",$_FILES["filename"]["name"],"</font> успешно загружен. ";
$file = "download/".$_FILES["filename"]["name"];
$open_csv = fopen("$file", "r");
$colspan = fgets($open_csv);
fclose($open_csv);

$results_col = count_chars($colspan,0);
for($i=0;$i < count($results_col);$i++){
if ($results_col[$i] != 0 && (chr($i) === ";"))
{
$colss = $results_col[$i] + 1;
echo "Количество колонок в таблице - $colss";
}
}
}







?>

</td>
</tr>
</table>

</td>
</tr>
<tr bgcolor=#dadada><td colspan=2><center><font color=#999999>
По умолчанию программа сформирует таблицу с рамкой черного цвета и белыми полями, ширина таблицы будет равняться 100% от ширины экрана Вашего монитора. Цвет текста будет черным.</font>
</center>
</td></tr>






<tr><td height=24 bgcolor=silver><font color=black>&nbsp;&nbsp;&nbsp;Для создания таблицы выберите:</b></font></td><td bgcolor=silver class="rsm"><font color=black>Цвета и их значения <font color=#666666>(выделив мышкой, скопируйте в поле ввода)</font></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
<form method=post actions="<?echo $SCRIPT_NAME;?>">
</table><center>

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>

<table border=0 cellspacing=0 cellpadding=0 width="360" >
<tr><td>

<table border=0 cellspacing=1 cellpadding=0 width="396" >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c"> цвет текста в таблице&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="colorfont" value="<?echo $_POST['colorfont']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет нечетных строк:&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="odd" value="<?echo $_POST['odd']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="200" bgcolor=#dddddd class="c">цвет рамки таблицы:&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="bordercolor" value="<?echo $_POST['bordercolor']?>" maxlength=6 class="txtinp"></td>
<td width="200" bgcolor=#dddddd class="c">цвет четных строк:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;<input type=text size=6 name="even" value="<?echo $_POST['even']?>"  maxlength=6 class="txtinp"></td>
</tr></table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="86" bgcolor=#dddddd class="rsm">размер шрифта: <td bgcolor=#dddddd class="rsm"> <select name="sizefont" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 35px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['sizefont']?>" ><?echo $_POST['sizefont']?></option>
                                            <option value="1" >1</option>
                                            <option value="2" >2</option>
                                            <option value="3" >3</option>
                                            </select></td> <td width=41 bgcolor=#dddddd class="rsm">
шрифт:</td><td bgcolor=#dddddd ><select name="font" size=1 style="FONT: 11px arial, tahoma, verdana; WIDTH: 91px; COLOR: #444444; TEXT-DECORATION: none">
                                            <option value="<?echo $_POST['font']?>"><?echo $_POST['font']?></option>
                                            <option value="Arial">Arial</option>
                                            <option value="Tahoma">Tahoma</option>
                                            <option value="Verdana">Verdana</option>
                                            <option value="Times New Roman">Times New Roman</option>
                                            <option value="Georgia">Georgia</option>
                                            </select>
</td><td width="137" bgcolor=#dddddd  class="rsm" >ширина таблицы:<input type=text size=1 name="width" value="<?echo $_POST['width']?>"  maxlength=3 class="txtinp">&nbsp;px.&nbsp;
</td></tr>
</table>
<table border=0 cellspacing=1 cellpadding=0 >
<tr height=24>
<td width="320" bgcolor=#dddddd >&nbsp;&nbsp;<input name="html" class="buttinp" type="submit" value="Если все ОК, получить код HTML"></td>
<td  bgcolor=#dddddd width="90" class="c" > <input name="wide" class="buttinp" type="submit" value="Просмотр">


</td></tr>
</table>



</td><td >&nbsp;</td><td >
<table border=0 cellspacing=1 cellpadding=1 width=400>
<tr >
<td width=30 bgcolor=#992831>&nbsp;</td><td width=30 style="cursor:text;">992831</td>
<td width=30 bgcolor=#ee0000>&nbsp;</td><td width=30 style="cursor:text;">EE0000</td>
<td width=30 bgcolor=#ff666b>&nbsp;</td><td width=30 style="cursor:text;">FF666B</td>
<td width=30 bgcolor=#ffd8dc>&nbsp;</td><td width=30 style="cursor:text;">FFD8DC</td>
<td width=30 bgcolor=#FFF0F0>&nbsp;</td><td width=30 style="cursor:text;">FFF0F0</td>
</tr>
<tr >
<td width=30 bgcolor=#984124>&nbsp;</td><td width=30 style="cursor:text;">984124</td>
<td width=30 bgcolor=#e46900>&nbsp;</td><td width=30 style="cursor:text;">E46900</td>
<td width=30 bgcolor=#F69759>&nbsp;</td><td width=30 style="cursor:text;">F69759</td>
<td width=30 bgcolor=#EFC378>&nbsp;</td><td width=30 style="cursor:text;">EFC378</td>
<td width=30 bgcolor=#F3EBDA>&nbsp;</td><td width=30 style="cursor:text;">F3EBDA</td>
</tr>
<tr >
<td width=30 bgcolor=#41557a>&nbsp;</td><td width=30 style="cursor:text;">41557A</td>
<td width=30 bgcolor=#a5b8d6>&nbsp;</td><td width=30 style="cursor:text;">A5B8D6</td>
<td width=30 bgcolor=#c0d3f1>&nbsp;</td><td width=30 style="cursor:text;">C0D3F1</td>
<td width=30 bgcolor=#d0def6>&nbsp;</td><td width=30 style="cursor:text;">D0DEF6</td>
<td width=30 bgcolor=#f6f9fd>&nbsp;</td><td width=30 style="cursor:text;">F6F9FD</td>
</tr>
<tr >
<td width=30 bgcolor=#1a3469>&nbsp;</td><td width=30 style="cursor:text;">1A3469</td>
<td width=30 bgcolor=#6884ac>&nbsp;</td><td width=30 style="cursor:text;">6884AC</td>
<td width=30 bgcolor=#bdcde4>&nbsp;</td><td width=30 style="cursor:text;">BDCDE4</td>
<td width=30 bgcolor=#c6d4e8>&nbsp;</td><td width=30 style="cursor:text;">C6D4E8</td>
<td width=30 bgcolor=#ecf2fb>&nbsp;</td><td width=30 style="cursor:text;">ECF2FB</td>
</tr>
<tr >
<td width=30 bgcolor=#233353>&nbsp;</td><td width=30 style="cursor:text;">233353</td>
<td width=30 bgcolor=#8092C6>&nbsp;</td><td width=30 style="cursor:text;">8092C6</td>
<td width=30 bgcolor=#A0B2D3>&nbsp;</td><td width=30 style="cursor:text;">A0B2D3</td>
<td width=30 bgcolor=#CED4E1>&nbsp;</td><td width=30 style="cursor:text;">CED4E1</td>
<td width=30 bgcolor=#E0E4EC>&nbsp;</td><td width=30 style="cursor:text;">E0E4EC</td>
</tr>
<tr >
<td width=30 bgcolor=#004e30>&nbsp;</td><td width=30 style="cursor:text;">004E30</td>
<td width=30 bgcolor=#00723e>&nbsp;</td><td width=30 style="cursor:text;">00723E</td>
<td width=30 bgcolor=#66a073>&nbsp;</td><td width=30 style="cursor:text;">66A073</td>
<td width=30 bgcolor=#b4dac1>&nbsp;</td><td width=30 style="cursor:text;">B4DAC1</td>
<td width=30 bgcolor=#F0FFF0>&nbsp;</td><td width=30 style="cursor:text;">F0FFF0</td>
</tr>
<tr >
<td width=30 bgcolor=#000000>&nbsp;</td><td width=30 style="cursor:text;">000000</td>
<td width=30 bgcolor=#a4a4a4>&nbsp;</td><td width=30 style="cursor:text;">D4D4D4</td>
<td width=30 bgcolor=#dedede>&nbsp;</td><td width=30 style="cursor:text;">DEDEDE</td>
<td width=30 bgcolor=#eeeeee>&nbsp;</td><td width=30 style="cursor:text;">EEEEEE</td>
<td width=30 bgcolor=#FaFaFa>&nbsp;</td><td width=30 style="cursor:text;">FAFAFA</td>



</tr>
</table>


</td></tr></table>
</center>
<br>
</td>
</tr>
</table>

<center>
<table border=0 cellspacing=0 cellpadding=0 width="800" >
<tr><td bgcolor=silver><center>


<?php

$wide=FALSE;
;

if(isset($_POST['wide'])){
if($font =="")$font = "Tahoma";
if($sizefont =="")$sizefont = "2";
if($colorfont =="")$colorfont = "000000";
if($even =="")$even = "FFFFFF";
if($odd =="")$odd = "FFFFFF";
if($width =="")$width = "100%";
if($bordercolor =="")$bordercolor = "000000";




echo "<center><table border=0 cellspacing=0 cellpadding=0 width=\"$width\" >
        <tr><td valign=top  width=\"100%\">
          <table border=0 cellspacing=1 cellpadding=0 width=\"100%\" >
             <tr valign=top><td  bgcolor=\"$bordercolor\" width=\"100%\"><table border=0 cellspacing=1 cellpadding=2 width=\"100%\">";


$handle = fopen ("tmp.txt", "r");
while (!feof ($handle)) {
    $buffer = fgets($handle);
}
fclose ($handle);
$file_csv = "download/".$buffer;//$_FILES["filename"]["name"];

$open = @fopen("$file_csv", "r") or die ("<font color=white>файл не загружен</font>");
$cols = fgets($open);


$res_col = count_chars($cols,0);
for($j=0;$j < count($res_col);$j++){
if ($res_col[$j] != 0 && (chr($j) === ";"))
{
$col = $res_col[$j] + 1;

}
}


 $f = fopen("$file_csv", "r");
 flock($f, LOCK_SH);
 while(!feof($f)){

         $line  = fgets($f);
         $line = str_replace('"""','"',$line);
         $line = str_replace('«','"',$line);
         $line = str_replace('»','"',$line);

         if($line == "")continue;
         $arr = explode(";", $line);


$row_begin = "<td><font size=\"$sizefont\" color=\"$colorfont\" face=\"$font\">";
$row_end = "</font></td>";

if($col == "2") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end";
if($col == "3") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end";
if($col == "4") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end";
if($col == "5") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end";
if($col == "6") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end";
if($col == "7") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end";
if($col == "8") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end";
if($col == "9") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end";
if($col == "10") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end";
if($col == "11") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end";
if($col == "12") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end";
if($col == "13") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end";
if($col == "14") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end";
if($col == "15") $row = "$row_begin".$arr[0]."$row_end"."$row_begin".$arr[1]."$row_end"."$row_begin".$arr[2]."$row_end"."$row_begin".$arr[3]."$row_end"."$row_begin".$arr[4]."$row_end"."$row_begin".$arr[5]."$row_end"."$row_begin".$arr[6]."$row_end"."$row_begin".$arr[7]."$row_end"."$row_begin".$arr[8]."$row_end"."$row_begin".$arr[9]."$row_end"."$row_begin".$arr[10]."$row_end"."$row_begin".$arr[11]."$row_end"."$row_begin".$arr[12]."$row_end"."$row_begin".$arr[13]."$row_end"."$row_begin".$arr[14]."$row_end";

         $n++;
         if($n%2!=0){
         echo"<tr bgcolor=\"",$odd,"\">",$row,"</tr>\n";}
         else{echo"<tr bgcolor=\"",$even,"\">",$row,"</tr>\n";}
 }

 flock($f, LOCK_UN);
 fclose($f);

echo "</table></td></tr></table></td></tr></table></center>";

}


?>

</center>
</td></tr></table></center>
</body>

</html>

 smile 
    

Это сообщение отредактировал(а) Pitc - 3.5.2006, 17:39
PM MAIL ICQ   Вверх
клоп
Дата 3.5.2006, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Цитата(Pitc @ 3.5.2006,  17:31)
smile Вот тебе твой  рабочий код : smile 

 smile

Pitс да, код рабочий. Спасибо тебе преагромнейшее,- напару вроде чтото уже делаем. Но рабочий он только если ты один на один со скриптом. А хотелось бы для публичного использования. А если во время создания таблицы зайдет другой юзер и подгрузит свой csv файл? Все капец. Не в очередь же их ставить на использование скрипта. У тебя как и у меня явно подгружается файл с которым fopen() начинает работать. А хотелось бы чтоб имя бралось из переменных окружения или что-то уникальное которое создается только при открытии страницы браузером или при удачном копировании. Есть мысль привязать как то к time(), или использовать куки или сессии. Только как реализовать правильно пока в голову не приходит. Pitс или еще сочувствующие, что можно и как? Какие есть соображения. 
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Pitc
Дата 4.5.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: 2
Всего: 2



Я попробывал как обычно через сесии , но чето скрипт пахать не хочет. 
Можно использовать функцию flock() для синхронизации операций чтения/запяси. 
PM MAIL ICQ   Вверх
клоп
Дата 4.5.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 28.2.2006
Где: г. Череповец

Репутация: нет
Всего: нет



Pitc я не выспался но решил эту проблему  smile . Имя можно передавать через скрытое поле :<input type="hidden" name="hidden_name" value="<?echo $_FILES['filename']['name']?>"> 

А вот рабочий код конструкции
Код

<?
error_reporting (E_ALL ^ E_NOTICE);
 
 
$filename = $_POST['filename'];
$upload = $_POST['upload'];
$wide = $_POST['wide'];

?>
 
<form method="post" enctype="multipart/form-data" action="<?echo $SCRIPT_NAME;?>"><input type="file" name="filename" >
<input type="submit" name="upload" value="Загрузить .txt файл" >
</form><br>
 
<?
if(copy($_FILES["filename"]["tmp_name"],$_FILES["filename"]["name"]))
{
echo "Файл ",$_FILES["filename"]["name"]," успешно загружен. ";
 
}
?>

<hr>
 <form method=post actions="<?echo $SCRIPT_NAME;?>">
 <input name="wide" type="submit" value="Просмотр первой строки">
 <input type="hidden" name="hidden_name" value="<?echo $_FILES['filename']['name']?>"> 
 </form>
<?
$wide=FALSE;
 
if(isset($_POST['wide'])){
$open = fopen($_REQUEST['hidden_name'], "r");
$s = fgets($open);
echo $s;
fclose($open);
 
}
?>


Теперь можно работать дальше, с проверками того что вводит юзер... 
--------------------
Всякая чепуха посещает голову, когда она пуста ....
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1096 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.