Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> $PATH_TRANSLATED
Sh4dow
post
Post #1





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Mam problem z ładowaniem plików poprzez formularz. Nie ukrywając ucze sie tego wiec zaczynam przepisywac kody z ksiazki i modyfikowac je. Oto kod do formularza (a.php)
[php:1:74a8460f4a]<?php

echo"<form action="b.php" method="post" enctype="multipart/form-data">
Wyślij plik: <input type="file" name="thefile"><br><br>
<input type="submit" name="Submit" value="Wyślij">
</form>";
?>[/php:1:74a8460f4a]
Oraz plik do obsługi przesyłania pliku (b.php)

[php:1:74a8460f4a]<?php
$aErrors = "";

if ( !empty( $_FILES['thefile']['name'] ) ) // nie wybrano pliku
{
if ( ( $_FILES['thefile']['type'] == "image/gif" ) ||
( $_FILES['thefile']['type'] == "image/pjpeg" ) ||
( $_FILES['thefile']['type'] == "image/jpeg" ) )
{
if ( $_FILES['thefile']['size'] < ( 1024 * 100 ) )
{
$aCurBasePath = dirname( $PATH_TRANSLATED );
$aNewName = $aCurBasePath . "/uppics/" .
$_FILES['thefile']['name'];
$file = $_FILES['thefile'];
copy( $file , $aNewName );
}
else
{
$aErrors .= "Za duzy plik !!!";
}
}
else
{
$aErrors .= "Plik nie jest typu gif ani jpeg";
}
}
else
{
$aErrors .= "Nie wybrano pliku";
}
if ( $aErrors != "" )
{
print( "<b>Wystapil blad</b>: $aErrors<br>" );
}
else
{
print( "Przeslany plik:<br><br>" );
print( "<img src="uppics/".$_FILES['thefile']['name'] border="0">" );
}
?>[/php:1:74a8460f4a]

Jak juz czytalem niektore posty ze względu na register_globals kozystalem z $_FILES, lecz nie wiem co ma byc ze zmienna $PATH_TRANSLATED poniewaz wyskakuje mi komunikat
Cytat
Notice: Undefined variable: PATH_TRANSLATED in /var/www/html/test/b.php on line 12

Notice: Array to string conversion in /var/www/html/test/b.php on line 16

Warning: copy(Array) [function.copy]: failed to create stream: No such file or directory in /var/www/html/test/b.php on line 16

Czy ktos moze mi pomoc i powiedziec co jest nie tak ?
Dane servera (moze pomoze):
Linux MDK 9.1
Apache 2.0
php 4.3.1
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kurtz
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Hej
Cytat
Reszta komunikatów to zwykłe notice (notatki) kóre najlepiej jest po prostu wyłaczyć - w php.ini -> error_reporting
Ekhem - notice to raczej "ostrzeżenie" - to bardziej oddaje charakter. Po drugie akurat w tym wypadku przekazuje dosc istotne informacje - w linii 16 np kontekst tablicy zostanie zmieniony na string (to znaczy na sile zastapi sie jedno drugim) - co wcale nie musi sie okazac tym czego tygrysy pragna ;) I rzeczywisice w linii 15 odwolujesz sie do $_FILES['thefile']; a pewnei bardziej chcialbys do samego pliku - czyli $_FILES['thefile']["tmp_name"];

Wg mnie E_NOTICE (czyli wlasnie tego typu ostrzezenia) ucza dobrych nawykow w programowaniu - sprawdzania zmiennych, zachowywania regul etc. Jesli kiedys przyjdzie komus poprawiac po kims kod (albo chocicaz go zrozumiec) zaswiadczam ze lepiej sie "czyta" taki ktory byl pisany uzgledniajac E_NOTICE. Trudniej wowczas rowniez o blad, a istniejace latiwej wychwycic i poprawic.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 01:22