0

我的网站上有一个上传器,它在最后用(“原始名称”+“随机数”)一个随机数重命名图像文件。

我想让上传的文件按顺序排列,以便必须最近上传的图片位于自动填充页面的顶部。

现在代码有随机数生成器,然后它采用原始文件名并将其放在开头..

我只希望所有图片都像 10.jpg 那样读取,然后上传的下一张照片是 9.jpg 和 8.jpg

自动填充功能我现在将最小的数字放在页面上

如何才能做到这一点。我担心的是,当下一个人上传时,它会覆盖上一个“起始”点 10.jpg 文件吗?

您可以在此处查看 php 文件http://ilovesmallies.com/forum/processupload.php

 // Random number for both file, will be added after image name
    $RandomNumber   = rand(0, 9999999999); 


//Get file extension from Image name, this will be re-added after random name
    $ImageExt = substr($ImageName, strrpos($ImageName, '.'));
    $ImageExt = str_replace('.','',$ImageExt);

编辑:所有文件都上传到目录文件夹。我在单独的页面上使用此代码将它们绘制到 div 中。然后自动填充该页面上的缩略图。

<script>
$.ajax({
  url: "user-uploads-thumbnails",
  success: function(data){
     $(data).find("a:contains(.jpg)").each(function(){
        // will loop through 
var images = 'user-uploads-thumbnails/' + $(this).attr("href");
var linkimage = 'user-uploads/' + $(this).attr("href");
 //backup $('<p><a href="' + linkimage + '"><img src="' + images + '"></a></p>').appendTo('#content');
$('<p><a class="fancybox" href="' + linkimage + '" data-fancybox-group="gallery"><img src="' + images + '"></a></p>').appendTo('#content');
     });
  }
});
4

1 回答 1

0

这是一种非常简单的方法。前提是没有两个人同时上传....

您将需要创建一个目录,其中包含:

  • 索引.php
  • anotherpage.php // 这个名字无关紧要(这只是为了抓取最近的图像
  • /上传
  • 计数.txt
  • 公司.php

索引.php

<?php


    include("inc.php");
    if(isset($_FILES["file"])){
        $new_filename = read_file($counter_file); // fetch the number for filename
        $new_filename++; // increment the counter
        move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $new_filename.".jpg"); // assumes jpg (easily extended to other formats)
        write_to_file($new_filename,$counter_file);

        echo "<img src=\"upload/".$new_filename.".jpg\" /><br />";
    }

?>

<form id="upload" action="index.php" enctype="multipart/form-data" method="post"> 
    <input type="file" name="file" id="file" /> <br />
    <input type="submit" value="go" />  
</form>

另一个页面.php

<?php

    include("inc.php");

    $new_filename = read_file($counter_file);
    echo "<img src=\"upload/".$new_filename.".jpg\" /><br />";

?>

公司.php

<?php

        $counter_file = "count.txt"; // name of the file containing your file count

        function write_to_file($text,$filename){
            $fp = fopen($filename, 'w');
            fwrite($fp, $text);
            fclose($fp);
        }

        function read_file($filename){
        $handle = fopen($filename, "r");
        $contents = fread($handle, filesize($filename));
        fclose($handle);
        return($contents);
        }

?>

警告:这不包含验证。请记住,文件的 mime 类型可以被伪造。这是针对您的问题的简单有效解决方案。

于 2012-10-31T23:24:04.330 回答