Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z uploadem :(
Forum PHP.pl > Forum > Przedszkole
covall
Hej. Postanowiłem się wziąść za prosty skrypt, którego zadaniem ma być upload obrazków na serwer. Jest to moje pierwsze zetknięcie z uploadem, więc w razie czego proszę o wyrozumiałość winksmiley.jpg Natomiast wywala mi błąd:
Kod
Parse error: parse error, unexpected T_STRING in c:usrkrasnalwwwphpsendfilesendfile.php on line 8
.

Skrypt składa się z formularza:
Kod
<html>

<head>

    <title>Formularz do przesyłania plików</title>

</head>

<body>

<form action="sendfile.php"

  method="post" enctype="multipart/form-data">

    Wyślij plik: <input type="file" name="plik"><br><br>

    <input type="submit" name="Submit" value="Wyślij">

</form>

</body>

</html>


oraz oczywiście skryptu uploadującego plik sendfile.php:
[php:1:4f26d8bff7]<?php
if(isset($plik)) {
if(($plik_type=="image/gif") || ($plik_type=="image/jpg")) {
if($plik_size < ( 1024 * 100 )){
$katalog = dirname("$PATH_TRANSLATED");
$NewName = $katalog . "/..gfx"/news/" . $plik_name;
copy( $plik, $NewName );
echo "Plik uploadowany poprawnie.";
} else {
echo "Za duży rozmiar pliku.";
}
} else
echo "Niestety obrazka nie możnabyło uploadować na serwer, ponieważ ma rozszerzenie inne, niż JPG i GIF.";
} else
echo "Nie wybrano żadnego pliku :/.";
?>[/php:1:4f26d8bff7]
wassago
[php:1:42fb9a5f0d]<?php

if(isset($plik)) {
if(($plik_type=="image/gif") || ($plik_type=="image/jpg")) {
if($plik_size < ( 1024 * 100 )){
$katalog = dirname("$PATH_TRANSLATED");
$NewName = $katalog . "/..gfx/news/" . $plik_name;
copy( $plik, $NewName );
echo "Plik uploadowany poprawnie.";
} else {
echo "Za duży rozmiar pliku.";
}
} else {
echo "Niestety obrazka nie możnabyło uploadować na serwer, ponieważ ma rozszerzenie inne, niż JPG i GIF.";
} else {
echo "Nie wybrano żadnego pliku :/.";
}
?>[/php:1:42fb9a5f0d]
covall
Hmm... teraz jest OK, ale zapomniałem o bardzo istotnej rzeczy... strukturze katalogow:
http://gtagame.prv.pl/covall_files/struktura.JPG

Nie miałbym problemu z tym skryptem gdyby wlasnie nie to, iż skrypt znajduje się w katalogu engine, a obrazek ma się uploadować do folderu gfx/news. A engine jest na tym samym poziomie co gfx... stąd się wzieła ta linijka:

Kod
$NewName = $katalog . "/..gfx"/news/" . $plik_name;

To właśnie z nią jest cos nie tak.[/url]
wassago
ale po co jest ten cudzyslow po "gfx"
[php:1:53abf8bd03]<?php
$NewName = $katalog . "/..gfx"# <- ten
?>[/php:1:53abf8bd03]
covall
Hmm... qmpel mi tak podpowiedział ;s
sztosz
To albo zle ci podpowiedział albo zrób tak:
[php:1:6e71aa363b]<?php
$NewName = $katalog . "/..gfx"/news/" . $plik_name;

?>[/php:1:6e71aa363b]

Powinno zadziałać bo wtedy string jest poprawnie umieszczony w " ", a
'' przed znakiem traktóje go jako znak stringu i nie parsuje go.
covall
sztosz -> Tym razem zwraca kolejny błąd ;(
Kod
Warning: copy(c:/usr/krasnal/www/php/sendfile/..gfx"/news/tommy.gif): failed to open stream: Invalid argument in c:usrkrasnalwwwphpsendfilesendfile.php on line 7

Plik uploadowany poprawnie.

Po czym nie uploaduje pliku.
dr_bonzo
[php:1:a90fc21cb6]
$NewName = $katalog . "../gfx/news/" . $plik_name;
[/php:1:a90fc21cb6]
wassago
zrozum ze w adresie gdzie ma byc uploadowny plik nie moze byc znaku cudzyslowia.
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.