0

首先我在这里问了这个问题:如何在发送到upload_file.php 之前更改文件名?

我用这个建议更新了我的 upload_file.php 脚本,但是当我运行它时,它不起作用。使用上面链接中的表格,当我去上传脚本时,回显似乎是正确的,但是当我 FTP 到文件应该是的目录时,目录是空的?有人可以对此有所了解吗?我希望将文件上传到“/var/www/eedis/fax/uploads/”。

我的 upload_file.php 脚本看起来像这样......

<?php
$allowedExts = array("pdf");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ($_FILES["file"]["type"] == "application/pdf")
#&& ($_FILES["file"]["size"] < 20000)
#&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_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>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "/var/www/eedis/fax/uploads/" . $_POST['number'] . '.pdf');
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?> 
4

3 回答 3

1

为上传过程创建一个名为upload.php 的PHP 文件。

在您的项目目录中创建一个名称为“gallery”(或您想要的)的文件夹,我们希望上传的文件转到它。

$uploadDir = './gallery/';

用于返回上传过程的结果。

$result = 0;

现在处理用户输入并获取文件扩展名,然后为上传的文件创建一个唯一的文件名(因为不同的用户可能会上传具有相似文件名的文件)

if(isset($_POST['upload']))
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

//get the file extension
$ext = substr(strrchr($fileName, "."), 1);

// make the random file name
$randName = md5(rand() * time());

// creating the unique file name for the uploaded file
$filePath = $uploadDir . $randName . '.' . $ext;

if(@move_uploaded_file($tmpName, $filePath)) {

    //move the uploaded file from server's temp directory to your gallery path
    $result = 1;
}
sleep(1);
}

要创建用于上传文件和图像的 PHP/AJAX 完整系统,请阅读本文:

http://blueingenuity.com/articles/4/creating-a-photo-uploader-using-ajax-and-php/

于 2013-11-12T06:47:27.493 回答
0

你用过enctype="multipart/form-data"你的表格吗?还要看文件夹权限。

于 2013-11-12T06:33:08.400 回答
0

问题已解决。这只是一个许可。进入下一个!

于 2013-11-12T06:40:36.553 回答