Всем привет!
Варюсь в каше недолго ). Написал скрипт по выводу из файла необходимых данных в таблицу. С денвером на Windows все работает отлично. Необходимо подключить скрипт на Linux, установленный на виртуальную машину. Базу развернул, необходимые файлы кинул в /var/www/html/<название сайта> (через ftp). В сприпте файл вначале загружается на сервер (обычный txt), не доходит каким образом должна производиться загрузка файла на Linux и похоже вообще нет взаимосвязи между формой и скриптом.
Кто-нибудь может помочь решить эту проблему либо направить на соответствующий материал (может сталкивались с подобными задачами), заранее спасибо.
Текст скрипта для Windows:
PHP |
<? require("commonup.html"); //##################################################################### //открытие, копирование и изменение файла if ($file_name != ""){ @copy("$file", "Z:\home\abd.ru\www\\$file_name") or die ("Невозможно скопировать файл."); $fp = fopen("Z:\home\abd.ru\www\\$file_name", "r"); $fpcp = fopen("Z:\home\abd.ru\www\\temp.txt", "w"); $flag = 0; while(!feof($fp)) { $str = fgets($fp); if($flag!=0){ $str = addslashes($str); fputs($fpcp, $str); } $flag++; } fclose($fp); fclose($fpcp); } //##################################################################### //Работа с базой данных abd @$db = mysql_pconnect("localhost", "root", "");
if (!$db) { echo "Нет соединения с базой данных!"; exit(); } if(!mysql_select_db( "abd")){ echo "База не активна"; } $query = "TRUNCATE TABLE `abd`"; $result = mysql_query($query);//отчистка таблицы $query = "LOAD DATA LOCAL INFILE 'Z:\\\\home\\\\abd.ru\\\\www\\\\temp.txt' REPLACE INTO TABLE `abd` FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n'"; $result = mysql_query($query); //##################################################################### //составление запроса $query = "SELECT dateTimeOrigination, dateTimeConnect, dateTimeDisconnect, callingPartyNumber, originalCalledPartyNumber, finalCalledPartyNumber, duration FROM abd WHERE 1";
if(trim($dateTimeConnect)){//1 $aray_time = explode(".", trim($dateTimeConnect)); $dateTimeConnect = mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]); $query = $query." AND dateTimeConnect=$dateTimeConnect"; } if(trim($dateTimeDisconnect)){//2 $aray_time = explode(".", trim($dateTimeDisconnect)); $dateTimeDisconnect = mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]); $query = $query." AND dateTimeDisconnect=$dateTimeDisconnect"; } if(trim($callingPartyNumber))//3 $query = $query." AND callingPartyNumber=$callingPartyNumber";
if(trim($originalCalledPartyNumber))//4 $query = $query." AND originalCalledPartyNumber=$originalCalledPartyNumber";
if(trim($finalCalledPartyNumber))//5 $query = $query." AND finalCalledPartyNumber=$finalCalledPartyNumber";
if(trim($duration)||(string)trim($duration)=="0")//6 $query = $query." AND duration=$duration";
if(trim($dateTimeOrigination)){//2 $aray_time = explode(".", trim($dateTimeOrigination)); $dateTimeOrigination = mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]); $query = $query." AND dateTimeOrigination=$dateTimeOrigination"; } if(trim($cw))//7 $query = $query." LIMIT 0, $cw"; //##################################################################### //вывод таблицы через базу $result = mysql_query($query); $num_results = mysql_num_rows($result); $num_fields = mysql_num_fields($result);
echo "<table class=bar-status align=center border=0 cellpadding=2 cellspacing=1 width=75%>"; echo "<tr>"; echo "<td align=right></td>"; echo "<td align=center bgcolor=#cddeff>Попытка соединения</td>"; echo "<td align=center bgcolor=#cddeff>Начало соединения</td>"; echo "<td align=center bgcolor=#cddeff>Конец соединения</td>"; echo "<td align=center bgcolor=#cddeff>Номер звонящего</td>"; echo "<td align=center bgcolor=#cddeff>Номер вызываемого</td>"; echo "<td align=center bgcolor=#cddeff>Переадресация</td>"; echo "<td align=center bgcolor=#cddeff>Длительность</td>"; echo "</tr>";
for($i=0;$i<$num_results;$i++){ $row[$i] = mysql_fetch_row($result); echo "<tr>"; $ii=$i+1; echo "<td bgcolor=#cddeff align=right>".$ii."</td>";//вывод номера строки for($j=0;$j<$num_fields;$j++){ if($j==0||$j==1||$j==2){ $row[$i][$j] = date("d.m.y.H.i.s",$row[$i][$j]); } echo "<td align=right>".$row[$i][$j]."</td>"; } echo "</tr>"; }
echo "</table>"; require("commondown.html");
|
для Linux менял соответственно пути
зы: вообще есть более удобные решения для тестирования
скриптов для подобных конфигураций?
Спустя 8 дней, 21 час, 28 минут, 40 секунд (15.01.2009 - 11:40) eugene pikalov написал(а):
Так разбираем
PHP |
// что такое $filename ? Если входящая переменная то лучше используйте $_REQUEST[filename]
if ($file_name != ""){ // скопировать файл с именем $file в файл с именем "Z:\home\abd.ru\www\\$file_name". Переменная $file не определена. // здесь нужно чтобы Вы пояснили что вы хотите куда сохранять @copy("$file", "Z:\home\abd.ru\www\\$file_name") or die ("Невозможно скопировать файл."); |