Adam
Pietrasiewicz
Półliterat, Audytor
dostępności
Temat: Początkujący - upload pliku.
http://pl.php.net/manual/en/features.file-upload.post-...Metoda z powyższego adresu nie funkcjonuje u mnie. Coś robię źle, ale zupełnie nie wiem co.
Mam serwer, na którym pięknie chodzą mi i wordpress, i joomla i wikimedia, więc nie ma problemu z uploadem, jak się umie to robić. A ja mam.
Mam na serwerze, w katalogu odpowiadającym mojej domenie, podkatalog o nazwie php. W nim trzymam moją aplikacyjkę, a w niej plik test.php zawierający:
<?php
echo '<?xml version="1.0" encoding="iso-8859-2"?>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<title>Upload</title>
</head>
<body>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="test1.php" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="plik" type="file" />
<input type="submit" value="Send File" />
</form>
</body>
</html>
oraz pliczek test1.php zawierający:
<?php // RAY_temp_upload_example.php
error_reporting(E_ALL);
echo "<pre>" . PHP_EOL;
// IF A FILE HAS BEEN UPLOADED
if (!empty($_FILES))
{
// SHOW THE UPLOADED FILES
print_r($_FILES);
// TRY TO MOVE THE FILE TWICE - SECOND MOVE RETURNS FALSE
if (!move_uploaded_file($_FILES["plik"]["tmp_name"], $_FILES["plik"]["name"])) echo "CANNOT MOVE {$_FILES["plik"]["name"]}" . PHP_EOL;
if (!move_uploaded_file($_FILES["plik"]["tmp_name"], $_FILES["plik"]["name"])) echo "CANNOT MOVE {$_FILES["plik"]["name"]}" . PHP_EOL;
// SHOW THE UPLOADED FILES AFTER THE MOVE - NO VISIBLE CHANGE
print_r($_FILES);
}
// END OF PHP, PUT UP THE HTML FORM TO GET THE FILE
?>
Katalog uploads oraz php mają pełne prawa dostępu, na wszelki wypadek ustawiłem na 777.
No i po wykonaniu wybrania pliku o nazwie "s24" dostaję coś takiego:
Array
(
[plik] => Array
(
[name] => s24
[type] => application/octet-stream
[tmp_name] => /tmp/phpDar3sY
[error] => 0
[size] => 3808
)
)
CANNOT MOVE s24
Array
(
[plik] => Array
(
[name] => s24
[type] => application/octet-stream
[tmp_name] => /tmp/phpDar3sY
[error] => 0
[size] => 3808
)
)
I niestety nie potrafię tego rozgryźć.
Czy ktoś może mi pomóc - wiem, że to musi być proste i głupie, ale zupełnie nie wiem już gdzie szukać.