Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: funkcja copy() nie dziala!
Forum PHP.pl > Forum > PHP
amstel
mam strone na serwerze, skrypt powinien dodawac zdjecia za pomoca funkcji copy()

<?[php:1:a9055322c8]
if(($zdjecie) && ($zdjecie!="none"))
{
$nazwapliku="image/$name";
copy($zdjecie, $nazwapliku);
$rozmiar=filesize($nazwapliku);
}


?>[/php:1:a9055322c8]
KaMeLeOn
Cytat
mam strone na serwerze, skrypt powinien dodawac zdjecia za pomoca funkcji copy()

Ta funkcja nie dodaje zdjęć... ona kopiuje.
Poza tym skąd się biorą wszystkie zmienne w Twoim skrypcie?
Opisz swój problem bardziej szczegółowo.. na razie nic nie można wywnioskować.
uboottd
Cytat
Poza tym skąd się biorą wszystkie zmienne w Twoim skrypcie?

Z pozaprzestrzeni smile.gif

Nie ogladales fragglesow ?
KaMeLeOn
Cytat
Z pozaprzestrzeni smile.gif

Nie ogladales fragglesow ?

buahahahaha...
Także kolega amstel powinien się domyśleć, że ma problem ale za cholerę nie wiemy jaki smile.gif
amstel
zmienne sa przesylane z formularza. wiem ze funkcja copy() kopiuje, a nie dodaje, to byla przenosnia.
KaMeLeOn
Stawiam na podstawowy błąd: http://forum.php.pl/viewtopic.php?t=789
Seth
Cytat
zmienne sa przesylane z formularza. wiem ze funkcja copy() kopiuje, a nie dodaje, to byla przenosnia.

I to ma byc wytlumaczenie problemu ? rolleyes.gif

Czy wyswietla jakis blad ?
Jezeli tak to jaki ?
Czy dane z formularza sa popran ?
Czy wogole dane z formularza sa pobierane ?
Czy istnieje katalog, do ktorego kopjujesz ?
Czy ustawiles na niego prawa (chmod) ?
amstel
testowalem skrypt na localhoscie i nie bylo problemow.
Czy istnieje katalog, do ktorego kopjujesz ?
tak.
Czy ustawiles na niego prawa (chmod)
nie, gdzie nalezy je ustawic?
KaMeLeOn
Cytat
testowalem skrypt na localhoscie i nie bylo problemow.

Czy na localhoście masz włączone register_globals?
Zapewniam, że na serwerze są wyłączone, więc do zmiennych z formularza trzeba się odwoływać tak jak w temacie, który Ci wcześniej podałem....
Cytat
Czy ustawiles na niego prawa (chmod)
nie, gdzie nalezy je ustawic?

http://forum.php.pl/viewtopic.php?t=4690
Seth
Cytat
Czy ustawiles na niego prawa (chmod)
nie, gdzie nalezy je ustawic?

szukaj, szukaj, szukaj i jeszcze raz szukaj na forum, googlach... naprawde wiele pytan by nie bvylo gdyby ludzie zaczeli w koncu uzywac glowy a nie tylka i najpierw sami poszukali a jezeli nie znalezli odpowiedzi to pisali posty.
Ehh... tutaj jest o chmodzie: http://forum.php.pl/viewtopic.php?t=4690 smile.gif
amstel
na serwerze wywala taki blad:
Warning: copy(D:plik.JPG): failed to open stream: No such file or directory in /sciezkadopliku/plik.php on line 100
spenalzo
Buahaha.
Chcesz w ten sposób skopiować plik z swojego kompa na serwer?
Kocurro
No dobra podaj dokładniejszy kod skrypty który próbujesz wykonać...

bo ja zbytnio nie kojarze co Ty w zasadzie chcesz zrobić i w jaki sposób...
amstel
oki, czy ktos wie gdzie na serwerze znajduje sie uploadowany plik?
dodam rowniez ze inne funkcje operujace na plikach (rowniez tych znajdujacych sie juz na serwerze), rowniez nie dzialaja, tj.
fopen();
fputs();
file();

przykladowy plik operujacy na tych funkcjach:

<?[php:1:15af74480b]
$open=("view.txt");
$tablica=@file($open);
$iloscview=@count($tablica);
$wartosc=@end($tablica);
$datau=@date("U");
$data=@date("d.m.Y");
$rozbij=@explode("t", $wartosc);

$ip=$REMOTE_ADDR;
$otworz = @fopen("view.txt", "a");
$wpisz="rn$ipt$dataut$data";

if($ip!=$rozbij[0])
{
@fputs($otworz, $wpisz);
}

if($ip==$rozbij[0] and $datau-$rozbij[1]>1800)
{
@fputs($otworz, $wpisz);
}
[/php:1:15af74480b]?>

jest to prosty licznik odwiedzin wykorzystujacy plik txt. mojego autorstwa. Dadam ze na localhosci dziala bez zarzutow.

Czy bez uzycia funkcji chmod() sie nie obedzie? gdzie ewentualnie mozna ja wkleic?
spenalzo
Zaraz, zaraz.... Czy ja dobrze zrozumiałem, że masz stronę na serwerze piwko.pl??
amstel
nie, nie na piwko.pl.

formularz sluzacy do wysylania danych (w tym takze zdjec) wyglada nastepujaco:

<form action="dodaj.php" method="post" enctype="multipart/form-data"><input id=input name="zdjecie" size=23 type=file>

oczywiscie to jest tylko fragment. Skrypt ktory powinie kopiowac tak utworzony plik tymczasowy :

if(($HTTP_POST_VARS['zdjecie']) && ($HTTP_POST_VARS['zdjecie']!="none"))
{
$nazwapliku="image/$name";
copy($HTTP_POST_VARS['zdjecie'], $nazwapliku);
$rozmiar=filesize($nazwapliku);
if($rozmiar>=100000)
{
@unlink($nazwapliku);
}
scanner
RTFM: [manual:bac1990cae]move_uploaded_file[/manual:bac1990cae]
spenalzo
1. http://forum.php.pl/viewtopic.php?t=789
2. Nie podałeś czy masz pole
[xml:1:41441ab2d6]<input type="hidden" name="MAX_FILE_SIZE" value="1000000">[/xml:1:41441ab2d6]
3. Nie $HTTP_POST_VARS, tylko $HTTP_POST_FILES.

Jak chcesz skopiować to nie rób copy($HTTP_POST_FILES["zdjecie"]), tlko copy($HTTP_POST_FILES["zdjecie"]["tmp_name"]).
amstel
Zmienilem nieco skrypt:
<?[php:1:ace94532f1]
if(($HTTP_POST_FILES['zdjecie']) && ($HTTP_POST_FILES['zdjecie']!="none"))
{
$nazwapliku="/home/login/public_html/image/$name";
copy($zdjecie, $nazwapliku);
$rozmiar=filesize($nazwapliku);
[/php:1:ace94532f1]?>

lecz nadal nie dziala:
Warning: copy(/home/login/public_html/image/-201015536): failed to open stream: Permission denied in /home/login/public_html/dodaj.php on line 38
spenalzo
chmod 755
amstel
w pliku dodaj.php wpisalem
chmod("image", 0755);

Wywala blad:
chmod(): Operation not permitted in /home/login/public_html/dodaj.php on line 37
spenalzo
Nie, musisz nadać prawa dla pliku dodaj.php
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.