PHP上传pdf文件,并替换为自定义文件名



我有一个问题,我无法让php用"$fiscal "代替pdf的名称。我是一个新的php用户,我需要一个手。感谢大家提供的可能的答案(我正在创建一个网站,允许您上传pdf文件与在开始选择的名称。)

php:

<?php
// per prima cosa verifico che il file sia stato effettivamente caricato
if (!isset($_FILES['userfile']) || !is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo 'File non caricato.';
exit;    
}

//percorso della cartella dove mettere i file caricati dagli utenti
$uploaddir = "uploads/"  . $_POST['fiscale'] . '.pdf';

//recupero il nome originale del file caricato
$userfile_name = $_FILES['userfile']['name'];

$fiscale = $_POST['fiscale'];

//copio il file dalla sua posizione temporanea alla mia cartella upload
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir)) {
//Se l'operazione è andata a buon fine...
echo 'File inviato con successo.';
}else{
//Se l'operazione è fallta...
echo 'Upload NON valido!'; 
}
?>

html:

<form enctype="multipart/form-data" action="upload.php" method="POST">
Invia questo file: <input name="userfile" type="file">
<input name="fiscale" type="text" placeholder="test">
<input type="submit" value="Invia File">
</form>

尝试使用:

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir)) {

不是

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploaddir)) {

关于你的问题

我看到你的代码中有几个问题:

  1. 使用__DIR__正确定义uploads目录的位置
  2. 检查目录是否存在且可写
  3. 不清楚move_uploaded_file的作用

友好建议

你应该开始使用开源工具来满足你的需要。你可能想看一下:

  • 正确处理不同HTTP路由的路由器库。
  • 一个传入的HTTP请求处理库(甚至是一个简单的框架,带有路由器,请求处理,验证等)
  • 一个文件系统处理库,可以直接从FS中抽象出来。
  • 一个表单验证库来验证用户输入(因为它是不安全和不安全的)允许用户为上传的文件定义自己的名字而不需要验证)

使用作曲家。使用现代的工具。

为你以后的每一个人,包括你未来的自己,帮个忙——使用现成的库来处理典型的问题,很可能你所有的问题都已经被解决了,并放到了开源的解决方案中。

相关内容

  • 没有找到相关文章

最新更新