我正在编写一个应用程序,用户将从该应用程序将文件上传到服务器上。我从互联网上找到了一个 php 脚本,但我不知道如何告诉脚本将数据上传到哪里。这可能是一个愚蠢的问题,但我不是 PHP 程序员。我在我的 java 代码中使用这个 php 脚本。
这是脚本。
<?php
$filename="abc.xyz";
$fileData=file_get_contents('php://input');
echo("Done uploading");
?>
问候
我正在编写一个应用程序,用户将从该应用程序将文件上传到服务器上。我从互联网上找到了一个 php 脚本,但我不知道如何告诉脚本将数据上传到哪里。这可能是一个愚蠢的问题,但我不是 PHP 程序员。我在我的 java 代码中使用这个 php 脚本。
这是脚本。
<?php
$filename="abc.xyz";
$fileData=file_get_contents('php://input');
echo("Done uploading");
?>
问候
这是一种糟糕的上传文件方式,使用表单和超全局会更好$_FILES
。
看看W3Schools PHP 文件上传教程;请阅读所有内容。如需进一步阅读,请查看有关文件上传的PHP 手册页面。
输入类型将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");
文件名实际上是文件路径以及新文件的名称,在那里设置路径,将创建一个具有写入权限的文件。
确保您提供服务器完整路径而不是相对路径,并且您具有在其中创建文件所需的权限。
始终参考PHP 手册
这是一个让您入门的基本示例:
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";
}
?>
有关更多信息,请参阅文档。
希望这可以帮助!