2013-07-24 2 views
0

Я пишу приложение, из которого пользователь будет загружать файлы на сервер. Я нашел php-скрипт из Интернета, но я не знаю, как я расскажу сценарию, куда загружать данные. Это может быть глупый вопрос, но я не программист на PHP. Я использую этот php-скрипт в своем java-коде.Загрузка файлов на сервер

Вот сценарий.

<?php 
    $filename="abc.xyz"; 
    $fileData=file_get_contents('php://input'); 
    echo("Done uploading"); 
?> 

С уважением

+0

См. Документацию по файлу $ _FILE в PHP Manual, для этого есть много примеров. – Virus721

+0

Что значит, что вы используете PHP-скрипт в своем java-коде? Что вы на самом деле пытаетесь сделать здесь, пытаетесь ли вы загрузить файл из браузера пользователя на сервер? –

ответ

0

Имя файла в действительности путь к файлу вместе с именем нового файла, укажите путь к нему, и файл будет создан с разрешениями на запись.

Убедитесь, что вы предоставили серверу полный путь не относительный, и у вас есть необходимое разрешение для создания там файла.

+0

Эй, как я могу изменить ссылку на скачивание файла, я имею в виду, что ссылка на скачивание совпадает с ссылкой для загрузки, что означает, что любой может взломать мой сервер. Так есть способ изменить адрес загрузки. – Naruto

+0

Вы можете создать скрипт php, который извлекает загрузку с другой ссылки, а также загружает файл, а затем перемещает его в другое место. – Krotz

1

Это ужасный способ загрузки файлов, вы гораздо лучше использовать форму и $_FILES суперглобальном.

Взгляните на W3Schools PHP File Upload Tutorial; прочитайте все это. Для дальнейшего ознакомления см. Страницы PHP Manual о загрузке файла.

file тип ввода создаст окно загрузки в виде HTML:

<form action="upload_file.php" method="post" 
enctype="multipart/form-data"> 
    <label for="file">Filename:</label> 
    <input type="file" name="file" id="file"><br> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

После проверки ошибок и проверки того, что файл является то, что вы ожидаете (очень важно: позволяет пользователям загружать ничего в ваш сервер представляет собой огромный риск для безопасности), вы можете перенести загруженный файл в конечный пункт назначения на сервере в PHP.

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/abc.xyz"); 
0

Всегда обращайтесь к PHP Manual

Вот простой пример, чтобы вы начали:

HTML:

<html> 
<body> 
    <form enctype="multipart/form-data" action="upload.php" method="post"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> 
    Choose a file to upload: <input name="uploaded_file" type="file" /> 
    <input type="submit" value="Upload" /> 
    </form> 
</body> 
</html> 

PHP:

<?php 
//Сheck that we have a file 
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) { 
    //Check if the file is JPEG image and it's size is less than 350Kb 
    $filename = basename($_FILES['uploaded_file']['name']); 
    $ext = substr($filename, strrpos($filename, '.') + 1); 
    if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && 
    ($_FILES["uploaded_file"]["size"] < 350000)) { 
    //Determine the path to which we want to save this file 
     $newname = dirname(__FILE__).'/upload/'.$filename; 
     //Check if the file with the same name is already exists on the server 
     if (!file_exists($newname)) { 
     //Attempt to move the uploaded file to it's new place 
     if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) { 
      echo "It's done! The file has been saved as: ".$newname; 
     } else { 
      echo "Error: A problem occurred during file upload!"; 
     } 
     } else { 
     echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists"; 
     } 
    } else { 
    echo "Error: Only .jpg images under 350Kb are accepted for upload"; 
    } 
} else { 
echo "Error: No file uploaded"; 
} 
?> 

Для получения дополнительной информации см. documention.

Надеюсь, это поможет!

Смежные вопросы