Я хочу загрузить файлы на PHP. я написал
<form target="_self" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input name="submit" type="submit" value="submit" /> </form> <?php if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } ?>
но он не работает. Файлы мне не видны, куда они идут?
Вы далеко от рабочего скрипта
Можешь попробовать
<?php $output = array (); $errors = array (); $savePath = "uploaded"; // PATH to upload images $allowedExt = array ( "png", "jpg" ); if (isset ( $_FILES ['file'] ) && $_FILES ["file"] ["error"] == UPLOAD_ERR_OK) { $fileName = $_FILES ['file'] ['name']; $fileSize = $_FILES ['file'] ['size']; $fileTemp = $_FILES ['file'] ['tmp_name']; $fileType = $_FILES["file"]["type"] ; $fileExt = pathinfo ( $fileName, PATHINFO_EXTENSION ); $fileExt = strtolower ( $fileExt ); //var_dump($fileExt); if (!in_array ( $fileExt, $allowedExt )) { $errors [] = "Invalid File Extention"; } if ($fileSize > 800*1024) { $errors [] = "File Too large"; } if (! is_writable ( $savePath )) { $errors [] = "File Destination not writeable"; } $fileDst = $savePath . DIRECTORY_SEPARATOR . $fileName; $filePrifix = basename ( $fileName, "." . $fileExt ); $i = 0; while ( file_exists ( $fileDst ) ) { $i ++; $fileDst = $savePath . DIRECTORY_SEPARATOR . $filePrifix . "_" . $i . "." . $fileExt; } if (count ( $errors ) == 0) { if (@move_uploaded_file ( $fileTemp, $fileDst )) { $output['STATUS'] = "OK"; $output['TYPE'] = $fileType; $output['Size'] = $fileSize; $output['Destination'] = $fileDst; } else { $errors [] = "Error Saving File"; } } if(count($errors) > 0) { echo "<h2>Upload Error</h2>" ; foreach ($errors as $error) { echo $error , "<br/>" ; } } else { echo "<h2>File Uploaded</h2>" ; foreach ($output as $key => $value) { echo $key , ":" , $value , "<br/>" ; } } } ?> <br/> <br /> <form method="post" target="_self" enctype="multipart/form-data"> <input type="file" name="file" id="file" /> <input name="submit" type="submit" value="submit" /> </form>
Ваш код даже не близок к работе, потому что вы фактически не загружаете файл через PHP. Я предлагаю начать с учебника по загрузке файлов PHP ( подробнее ) и повторить попытку. Если у вас возникли проблемы с новым кодом, обратитесь за помощью и покажите нам код, с которым у вас проблемы.
Для загрузки файлов необходимо использовать метод POST.
Поэтому просто добавьте атрибут method="post"
в тег form
и все готово.