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 />';
};
?>
/////////////////////////