如何在不使用html的情况下单独使用url在php中上载文件?
您不能使用HTTP-GET上载文件!您必须在http正文中随请求发送文件。因此,在大多数情况下,HTTP POST方法都是用于 C#堆栈溢出解决方案: 在Stackoverflow上使用cURL的PHP解决方案:如何在不使用html的情况下单独使用url在php中上载文件?,php,http,Php,Http,您不能使用HTTP-GET上载文件!您必须在http正文中随请求发送文件。因此,在大多数情况下,HTTP POST方法都是用于 C#堆栈溢出解决方案: 在Stackoverflow上使用cURL的PHP解决方案: 将这些内容保存到任何php文件中,而不是每当您点击此url并使用f=链接指向该文件时,它将该文件保存到您的特定文件夹中,我正在使用此php文件所在的当前文件夹 没有安全检查,因此它可以抓取任何文件,确保添加最终检查以执行身份验证,并避免注入脚本 <?php include_on
将这些内容保存到任何php文件中,而不是每当您点击此url并使用f=链接指向该文件时,它将该文件保存到您的特定文件夹中,我正在使用此php文件所在的当前文件夹 没有安全检查,因此它可以抓取任何文件,确保添加最终检查以执行身份验证,并避免注入脚本
<?php
include_once 'dbconfig.php';
?>
<form method="post" enctype="multipart/form-data">
<table width="350" border="0" cellpadding="1" cellspacing="1" class="box">
<tr>
<td width="246">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile">
</td>
<td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td>
</tr>
</table>
</form>
<?php
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
mysql_query($query) or die('Error, query failed');
include 'library/closedb.php';
echo "<br>File $fileName uploaded<br>";
?>
希望这对你有帮助
关于您想要C#或PHP中的解决方案?我想要解决方案PHP(更好),因为C#在unityso中受到限制,如果我理解正确,您想要上传的结果是文件名(或路径和名称)而不是其他内容?是的,我需要使用URL上传文件,就像在PHP中使用$#u GET命令一样。不是通过在http中单击browse按钮,我不需要http部分。我认为PHP curl很好,但我仍然不明白如何在我的上下文中使用它。你能告诉我如何在我的代码中使用它吗?我在phpac方面非常糟糕。如果你注意到我在代码中已将文件保存在数据库中,实际上不需要将文件保存在某个位置,但是你正确地理解了我的URL部分!!但是如何让我的代码识别文件,因为我已经在使用$\u文件了,如何将文件发布到“userfile”文件??
$file = $_GET['f'];
$res = explode('/',parse_url($file)['path']);
$filename = $res[count($res)-1];
file_put_contents($filename,file_get_contents($file));