Witam i pozdrawiam,
penie problem nie jest wielki ale nie jestem mistrzem php
potrzebuję wykonać upload pliku i następnie wyciąć z niego określoną liczbę wierszy na początku i na końcu i następnie zapisać ów plik na serwerze,
czy ktoś moż mi powiedzieć co jest nie tak:
<!-- czyli strona wysyłająca
<form enctype="multipart/form-data" action="index.php?go=wyslane" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" >
Załaduj raport:<input name="plikuzytkownika" type="file" style="color: #0000CC; background-color: #FFFFCC; font-size: 11pt; font-style: italic; border-style: ridge; border-color: #0033FF">
<input type="submit" value="<< Wyslij Raport przejdz do etapu 2 >>" style="color: #0000CC; background-color: #FFFFCC; font-size: 11pt; font-style: italic; border-style: ridge; border-color: #33CC00">
</form>
A teraz strona odbierająca czyli index.php?go=wyslane -->
<?
require "txt/conect.txt";
// wywołujemy funkcję connection()w celu podłączenia z bazą danych
connection();
$table_name = "budynki";
//interesująca mnie tabela gdzie mam załadowane ustawienia ile wierszy dla danego
pliku trzeba obciąć
$plikuzytkownika = $HTTP_POST_FILES['plikuzytkownika']['tmp_name'];
$plikuzytkownika_name = $HTTP_POST_FILES['plikuzytkownika']['name'];
$plikuzytkownika_size = $HTTP_POST_FILES['plikuzytkownika']['size'];
$plikuzytkownika_type = $HTTP_POST_FILES['plikuzytkownika']['type'];
$plikuzytkownika_error = $HTTP_POST_FILES['plikuzytkownika']['error'];
if ($plikuzytkownika_error > 0)
{
echo 'Wystąpił następujący problem: '; switch ($plikuzytkownika_error)
{
case 1
: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break; case 2
: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break; case 3
: echo 'Plik wysłany tylko częściowo'; break; case 4
: echo 'Nie wysłano żadnego pliku'; break; }
}
// umieszczenie pliku w zadanej lokalizacji
$lokalizacja = 'raport/'.$plikuzytkownika_name;
{
{
echo 'Problem: Plik nie może być skopiowany do katalogu'; }
}
else
{
echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: '.$plikuzytkownika_name; }
echo "<h2>Szczególy uploadu </h2>"; //tu przycinam nazwę pliku (np taka RAP_M_Xl2005_Bluszczańska74_w1.txt ) gdzie mam dane czego i jakiego okresu dotyczy
$pocieta_nazwa = "$plikuzytkownika_name";
list
($nazwa_pliku, $rozszezenie) = explode(".", $pocieta_nazwa); $data = "$nazwa_pliku";
list
($rap, $m, $miesioc_rok, $rap_budynek, $rap_wezel) = explode("_", $data); $rap_bud = $rap_budynek;
if ($rap_budynek == Bluszczańska74){$rap_budynek = "Bluszczanska74";}
elseif ($rap_budynek == Bluszczańska76){ $rap_budynek = "Bluszczanska76";}
$file = explode("2", $miesioc_rok); $rok = $file[1];
$mies = $file[0];
$rok = "2$rok";
if ($mies == l){ $miesiac = "styczeń";}
elseif ($mies == ll){ $miesiac = "luty";}
elseif ($mies == lll){ $miesiac = "marzec";}
elseif ($mies == lV){ $miesiac = "kwiecień";}
elseif ($mies == V){ $miesiac = "maj";}
elseif ($mies == Vl){ $miesiac = "czerwiec";}
elseif ($mies == Vll){ $miesiac = "lipiec";}
elseif ($mies == Vlll){ $miesiac = "sierpień";}
elseif ($mies == lX){ $miesiac = "wrzesień";}
elseif ($mies == X){ $miesiac = październik;}
elseif ($mies == Xl){ $miesiac = listopad;}
elseif ($mies == Xll){ $miesiac = grudzień;}
//to proste chcę wyświetlić nazwę miesiąca w formie pisanej
$sql = ("SELECT * FROM $table_name WHERE budynek ='$rap_budynek' and wezel ='$rap_wezel'") or
die("Blad w zapytaniu!"); $result = @mysql_query($sql) or
die("brak rezultatów zapytania w bazie danych."); $wiersz_nag=$wiersz['wiersze_naglowka'];
$ilosc_mieszkan=$wiersz['ilosc_mieszkan'];
}
$koniec_pliku = $wiersze_stop + 15;
echo '<table cellpadding="8" border="1"><tr><td >Pełna nazwa pliku raportu</td><td>'."$plikuzytkownika_name".'</td></tr> <tr><td >Ścieżka do pliku tymczasowego</td><td>'."$plikuzytkownika".'</td></tr>
<tr><td>Wielkość pliku raportu</td><td>'."$plikuzytkownika_size".'</td></tr>
<tr><td>Raportowany budynek</td><td>'."$rap_bud".'</td></tr>
<tr><td>Raportowany węzeł </td><td>'."$rap_wezel".'</td></tr>
<tr><td>Miesiąc rok </td><td>'."$miesiac $rok".' rok</td></tr>
<tr><td>Ilość rekordów (mieszkań) </td><td>'."$ilosc_mieszkan".'</td></tr></table><hr>';
$tekst = file('raporty/'.$plikuzytkownika_name); array_splice($tekst, 0
, $wiersz_nag); //usuwam wiersze na początku array_splice($tekst, $ilosc_mieszkan, $koniec_pliku); //usuwam wiersze na koncu
foreach ($tekst as $linia) {
}
$wp = fopen("$lokalizacja", 'w'); ?>
jak teraz zapisać zmieniony plik bo pewnie robię błąd i zapisuje mi sie tylko ostatnia linia pliku
--- edit:
Narazie "nie tak" jest to, że nie używasz odpowiednich BBCode, tym razem poprawiam za Ciebie, w przyszłości może się to skończyć ostrzeżeniem.
~crash
Ten post edytował Chrom 5.01.2006, 20:56:21