Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ładowanie pliku z dysku serwera
Forum PHP.pl > Forum > PHP
KR2615
Witam.
Mam gotowy skrypt, który z przysyłanego przez użytkownika pliku z rozszerzeniem .nfo generuje stronę z informacjami. Chwiałbym to zautomatyzować. W związku z tym na innej maszynie postawiłem bota, który pobiera dane z IRC, zapisuje do pliku .nfo, wysyła FTPem do maszyny, na której mam skrypt do umieszczania danych, wgetuje go wraz z parametrem $nazwa który odpowiada nazwie pliku .nfo, oczywiście bez rozszerzenia. W obecnym skrypcie zamieniłem tylko:


Kod
$nfofile = $_FILES['nfo'];


na

Kod
$nfofile = "/home/ftp/plikinfo/" . $nazwa . ".nfo";


Dalej umieszczone są regułki:

Kod
if ($nfofile['name'] == '')
 bark("Brak pliku NFO!");

if ($nfofile['size'] == 0)
 bark("0-byte NFO");



Pierwsza nie wyrzuca błędów, druga natomiast pokazuje 0-byte NFO Nie rozumiem, dlaczego tak jest. Czy ktoś byłby w stanie mi pomóc?
EarthCitizen
Możesz bardziej opisać (mile widziany kod) jak wysyłasz ten plik?
KR2615
Na prawdę chcesz go zobaczyć? To idź zrób sobie kawę lub kup dużą Coca-colę bo zanim zagłębiać się w szczegóły można cały wieczór. Jest to plik takeupload.php z silnika TBsource. Nie wiem czy miałeś z nim kiedyś styczność bo to silnik trackera bittorrent.

Chcąc wysłać .nfo user wypełnia formularz upload.php który następnie wywołuje takeuplaod.php z informacjami POST i dwoma plikami: .torrent i .nfo. Ja usunąłem z niego loggedinorreturn(); które wymaga bycia zalogowanym oraz dokonałem zmian opisanych w poście wcześniej.
EarthCitizen
a możesz jeszcze zrobić print_r($_FILES) ? i wrzucić co tam ciekawego Ci wyświetli...
KR2615
W zmodyfukowanym przeze mnie skrypcie:
Kod
Array ( )
EarthCitizen
Wszystko wygląda ok, poza tym, że pierwszy warunek jak zauważyłeś, nie wyrzuca błędu... No ale skoro cała tablica jest pusta, to moje pytanie - czy masz w formularzu atrybut enctype="multipart/form-data"? Jeżeli masz i pole ma prawidłowo ustawiony atrybut type i name (a za pewne ma) to ja już nie mam pytań i pojęcia o co chodzi :/
KR2615
Jak już napisałem, wywołując takeupload.php przez formularz z upload.php wszystko jest ok. W upload.php mam:

Kod
<form enctype="multipart/form-data" action="takeupload.php" method="post">


Natomiast jest problem, gdy takupload.php nieco zmodyfikowany przeze mnie wgetuję z innej maszyny, bez wysyłania _FILES. Nie słyszałem żeby wget potrafił to robić. Takwięc wpadłem an pomysł, że przed wgetowaniem wyślę plik .nfo z serwera2 na serwer1 FTPem i potem z serwera2 będę wgetował przerobiony przeze mnie takeupload.php jednak ten, nie chce brać plików z określonej ścieżki na serwer1.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.