![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
![]() Mam problem z odczytem obrazków przez serwer (taki jest mój wniosek). Zdjecia za pomoca ponizszego pliku przegrywaja sie do wybranego katalogu. Natomiast przy odczycie przez jakikolwiek skrypt, zamiast obrazka pojawia sie klasyczny pusty prostokat. Sprawdzilam wszystko : obrazek sie kopiuje, sciezka dostepu do niego jest poprawna. Ponadto po przegraniu z powrotem np. przez FTP do mnie na dysk obrazek czyta sie prawilowo. W czym tkwi blad ? Prosze o pomoc ! Z góry wielkie dzieki ![]() Podaje kod: //////////////////////////// <? if($action=='photoedit') { ?> <form action="<? print $PHP_SELF; ?>" method="post" enctype="multipart/form-data"> Maksymalny rozmiar pliku to 100 KB !<br/> Maksymalna szerokosc zdjecia to 500px.<br/> Plik : <input type="hidden" name="MAX_FILE_SIZE" value="100000"> <input type="hidden" name="id" value="<? print $id; ?>"> <input type="hidden" name="action" value="photoadd"> <input type="file" name="userfile" size="50"> <input type="submit" name="add" value="Dodaj plik"> </form> <? }else if($action=="photoadd") { // $plikuzytkownika - miejsce tymczasowej lokalizacji pliku na serwerze WWW $userfile = $HTTP_POST_FILES['userfile']['tmp_name']; // $plikuzytkownika_name - nazwa pliku w systemie uzytkownika $userfile_name = $HTTP_POST_FILES['userfile']['name']; // $plikuzytkownika_size - wielkosc pliku w bajtach $userfile_size = $HTTP_POST_FILES['userfile']['size']; // $plikuzytkownika_type - typ pliku w systemie MIME, np. image/gif $userfile_type = $HTTP_POST_FILES['userfile']['type']; // $plikuzytkownika_error - kod bledu zwiazanego z wysylaniem pliku $userfile_error = $HTTP_POST_FILES['userfile']['error']; $id = $_POST['id']; if ($userfile_error > 0) { echo 'Problem: '; switch ($userfile_error) { case 1: echo 'Rozmiar pliku przekroczyl wartosc upload_max_filesize'; break; case 2: echo 'Rozmiar pliku przekroczyl wartosc max_file_size'; break; case 3: echo 'Plik wyslany tylko czesciowo'; break; case 4: echo 'Nie wyslano zadnego pliku'; break; } exit; } // jeszcze jedno sprawdzenie: czy plik ma prawidlowy typ MIME? if ($userfile_type != 'image/jpeg') { echo 'Problem: plik nie zawiera obrazka typu jpeg'; exit; } // umieszczenie pliku w pozadanej lokalizacji $lokalizacja = '../images/photo/'.$userfile_name; // is_uploaded_file and move_uploaded_file dodane w wersji 4.0.3 if (is_uploaded_file($userfile)) { if (!move_uploaded_file($userfile, $lokalizacja)) { echo 'Problem: Plik nie moze byc skopiowany do katalogu'; exit; } } else { echo 'Problem: mozliwy atak podczas wysylania pliku. Nazwa pliku: '.$userfile_name; exit; } print 'Plik wyslany<br /><br />'; // pokazanie, co zostalo wyslane // dodanie oferty do bazy $photo_query = 'INSERT INTO FotoOferty VALUES (NULL,"'.$id.'","'.$userfile_name.'")'; $result_photo = mysql_query($photo_query) or die('Nie mozna dodac fotki do bazy : '.mysql_error()); print 'Podglad zawartosci wyslanego pliku:<br /><hr />'; print '<img src="../images/photo/'.$userfile_name.'">'; print '<br /><hr />'; }; ?> ///////////////////////// |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
wrzuc ten kod w tagi php zeby mozna bylo cos rozczytac z tego kodu...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Aha... sorka
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zablokowani Postów: 13 Pomógł: 0 Dołączył: 11.04.2004 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Nie bardzo rozumiem sprawy. U mnie na localu (po wykomentowaniu lini 71 i 72) wszystko działa bez problemów. Sprawdź strukture katalogów do których się odwołujesz, ewnt. prawa dla tych katalogów i skryptu który z nimi pracuje.
ps. sprawdzane na Windzie XP Pro, Apache 2.0.48, php 4.3.7 w Firefox 1.0 |
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 18.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie, a u mnie nie działa... i też się dziwię.
Dodam, że inne pliki w tym samym katalogu, wyświetlane za pomocą tej samej pętli (a więc z tą samą ścieżką dostępu), ale przegrane poprzez FTP, wyświetlają się normalnie. Nie wiem natomiast jak sprawdzić prawa do katalogów ? Korzystam z dzierżawionego serwera (Apache 1.3.33 na Unixie). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:59 |