Azaghal
17.05.2002, 22:58:01
mam formulaz z polem typu file. W jaki sposb skopiowac wskazany plik na serwer do okreslonego katalogu ?
steru
18.05.2002, 00:18:56
<form action=costam.php enctype='multipart/form-data'>
<input type=file name=plik>
<input type=submit value=ok>
</form>
<?
if($plik!='none'){
if(move_uploaded_file($plik,'katalog/'$plik_name))
echo $plik_name.' skopiowany';
else
echo 'dupa z kopiowania";
}
?>
wool
18.05.2002, 01:39:33
albo
[index.php]
<?
echo("<form enctype="multipart/form-data" action="upload.php" method="post">
Wybierz plik: <input name="userfile" type="file">
<input type="submit" value="Prześlij plik">
</form>
");
?>
[upload.php]
<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
} else {
echo "Wystąpił błąd w przesyłaniu : " . $HTTP_POST_FILES['userfile']['name'];
}
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
?>
...from manual php :wink:
wielu osobom te skrypty nie dzialaja.
mam gdzies na hdd funkcje oparta o ftp, ktora prawie zawsze dziala. jest znacznie wieksza itd. no ale jest bardziej niezawodna.
SonGoace
18.05.2002, 16:35:43
Skopiowałem ten skrypt do siebie. Gdy wybieram plik i daje ok to przechodzi do upload.php i tu pojawia sie błąd
Warning: Unable to create 'cyfry.gif': Permission denied in /users/s/songoace997/upload.php on line 3
Warning: Unable to create 'cyfry.gif': Permission denied in /users/s/songoace997/upload.php on line 7
Warning: Unable to move '/tmp/phpARNhgN' to 'cyfry.gif' in /users/s/songoace997/upload.php on line 7
co znaczy? czemu jest źle?
steru
18.05.2002, 16:52:52
na katalog do ktorego chcesz wrzucic te pliki ustaw prawa 0777
SonGoace
18.05.2002, 17:04:02
<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
} else {
echo "Wystąpił błąd w przesyłaniu : " . $HTTP_POST_FILES['userfile']['name'];
}
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
?>
a gdzie tutaj wpisać nazwe katalogu ?
steru
18.05.2002, 17:08:15
zaloguj sie ftpem na konto i zmien prawa dostepu do katalogu na read, write i execute dla wszystkich czyli 0777
chyba , ze skryptem sobie zalozysz katalog - funkcja mkdir() to juz nie trzeba bedzie mieszac w uprawnieniach
SonGoace
18.05.2002, 17:23:59
To jak zmieniac uprawnienia to wiem
ale pytałem gdzie w tym skrypvie wpisuje nazwe katalogu do którego ma byćuploadowany plik

?
SonGoace
18.05.2002, 17:39:41
Mam jeszcze problem z Chmod !
<?
chmod ("/banery/admin.php3", 0755);
?>
to znajduje sie w pliku ace.php. Jak na niego wchodze wyskakuje błąd.
Warning: chmod failed: No such file or directory in /home/accounts_d/dbnews/public_html/ace.php on line 3
a w manualu znalazłem takie coś:
"Notatka: Ta funkcja nie jest dostępna na platformie Windows."
SonGoace
18.05.2002, 17:43:40
znalazłem błąd. zła ścieżka dostępu, ale mimo to wyskakuje
Warning: chmod failed: Operation not permitted in /home/accounts_d/dbnews/public_html/ace.php on line 3
i jeszcze to z funkcją mkdir - tez nie działa
<?
mkdir ("dir", 0700);
?>
a daje taki skrypt
bartek
18.05.2002, 21:17:31
Cytat
albo
[index.php]
<?
echo("<form enctype="multipart/form-data" action="upload.php" method="post">
Wybierz plik: <input name="userfile" type="file">
<input type="submit" value="Prześlij plik">
</form>
");
?>
[upload.php]
<?php
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
} else {
echo "Wystąpił błąd w przesyłaniu : " . $HTTP_POST_FILES['userfile']['name'];
}
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$HTTP_POST_FILES['userfile']['name']);
?>
...from manual php :wink:
A jak zrobic zeby wywalalo komunikat o tym ze plik juz istnieje?
Mistycus
18.05.2002, 22:37:06
Cytat
A jak zrobic zeby wywalalo komunikat o tym ze plik juz istnieje?
Kod
$nazwa_pliku=$HTTP_POST_FILES['userfile']['name'];
if(file_exists($HTTP_POST_FILES['userfile']['name'])){
echo 'Plik o nazwie '.$HTTP_POST_FILES['userfile']['name'].' już istnieje!';
};
Ja bym proponował jednak zamiast wyświetlania komunikatu zmienić nazwę pliku.
bartek
19.05.2002, 09:11:24
Zmiana nazwy pliku odpada bo pozniej musze podac ta nazwe w formlarzu.
castor
19.05.2002, 20:41:23
Cytat
znalazłem błąd. zła ścieżka dostępu, ale mimo to wyskakuje
Warning: chmod failed: Operation not permitted in /home/accounts_d/dbnews/public_html/ace.php on line 3
i jeszcze to z funkcją mkdir - tez nie działa
<?
mkdir ("dir", 0700);
?>
a daje taki skrypt
na jakim systemie?
bartek
19.05.2002, 22:16:50
Cytat
znalazłem błąd. zła ścieżka dostępu, ale mimo to wyskakuje
Warning: chmod failed: Operation not permitted in /home/accounts_d/dbnews/public_html/ace.php on line 3
i jeszcze to z funkcją mkdir - tez nie działa
<?
mkdir ("dir", 0700);
?>
a daje taki skrypt
Ja przez FTP zrobilem CHMODE na 777 i dziala.
wool
19.05.2002, 23:42:44
Cytat
a gdzie tutaj wpisać nazwe katalogu ?
copy($HTTP_POST_FILES['userfile']['tmp_name'],"ścieżka");
Musi być także ustawiony tymczasowy katalog w php.ini
upload_tmp_dir= i przede wszystkim
file_uploads = On. Ten skrypt działa na 100%.
wool
19.05.2002, 23:53:29
Cytat
A jak zrobic zeby wywalalo komunikat o tym ze plik juz istnieje?
Najlepiej przed
if wstawić funkję sprawdzającą obecność takiego pliku. Wyświetlanie komunikatu raczej nie ma sensu. Lepsza by była automatyczna zmiana nazwy pliku. Coś dziś wymyślę dla obu wariantów i zaieszczę na forum.
Mistycus
19.05.2002, 23:57:34
Cytat
Cytat
A jak zrobic zeby wywalalo komunikat o tym ze plik juz istnieje?
Najlepiej przed
if wstawić funkję sprawdzającą obecność takiego pliku. Wyświetlanie komunikatu raczej nie ma sensu. Lepsza by była automatyczna zmiana nazwy pliku. Coś dziś wymyślę dla obu wariantów i zaieszczę na forum.
Czyżby mój skrypt był niedobry :?:
wool
20.05.2002, 00:09:55
Ups, nie zauważyłem. Ale zobaczę :wink:
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.