是否使用输入文本字段中的值重命名php文件?

是否使用输入文本字段中的值重命名php文件?,php,javascript,ajax,text,input,Php,Javascript,Ajax,Text,Input,在使用JQuery上传程序上传文件时,我尝试重命名文件。我已经做得很好了,下面是UploadHandler.php的重要部分: protected function handle_file_upload($uploaded_file, $name, $size, $type, $error, $index = null, $content_range = null) { $file = new stdClass(); $file = new stdClass();

在使用JQuery上传程序上传文件时,我尝试重命名文件。我已经做得很好了,下面是UploadHandler.php的重要部分:

protected function handle_file_upload($uploaded_file, $name, $size, $type, 
    $error, $index = null, $content_range = null)
{

    $file = new stdClass();
    $file = new stdClass();

    $name = "Name"; 

    $file->name =  /* basename(stripslashes($name)) . */
        $this->get_file_name($name, $type, $index, $content_range);
    $file->size = $this->fix_integer_overflow(intval($size));
    $file->type = $type;
    if ($this->validate($uploaded_file, $file, $error, $index)) {
        $this->handle_form_data($file, $index);
        $upload_dir = $this->get_upload_path();
        if (!is_dir($upload_dir)) {
            mkdir($upload_dir, $this->options['mkdir_mode'], true);
        }
        $file_path = $this->get_upload_path($file->name);
        $append_file = $content_range && is_file($file_path) &&
        $file->size > $this->get_file_size($file_path);
        if ($uploaded_file && is_uploaded_file($uploaded_file)) {
            // multipart/formdata uploads (POST method uploads)
            if ($append_file) {
                file_put_contents(
                    $file_path,
                    fopen($uploaded_file, 'r'),
                    FILE_APPEND
                );
            } else {
                move_uploaded_file($uploaded_file, $file_path);
            }
        } else {
            // Non-multipart uploads (PUT method support)
            file_put_contents(
                $file_path,
                fopen('php://input', 'r'),
                $append_file ? FILE_APPEND : 0
            );
        }
如您所见,通过变量
$name
,我将其设置为“name”,如果我希望所有上传的文件都被命名为name,这将非常有效。但是我需要它,这样人们就可以输入他们的名字,并将文件重命名为该名称,我基本上只需要将其传递到我的
$name
变量中。但问题是:我该怎么做?我尝试过使用ajax:

$("#submit").click(function(){

var dataString = $("#nama").val();

 $.ajax({
type: "POST",
url: "server/php/index.php",
data: { 'dataString': dataString },
cache: false,
success: function()
    {
        alert("Order Submitted");
    }
});
但那根本没用。这里还有html索引文件,以防taht有帮助:

            <!DOCTYPE HTML>
            <!--
            /*
             * jQuery File Upload Plugin Demo 7.4
             * https://github.com/blueimp/jQuery-File-Upload
             *
             * Copyright 2010, Sebastian Tschan
             * https://blueimp.net
             *
             * Licensed under the MIT license:
             * http://www.opensource.org/licenses/MIT
             */
            -->
            <html lang="en">
            <head>
            <!-- Force latest IE rendering engine or ChromeFrame if installed -->
            <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><![endif]-->
            <meta charset="utf-8">
            <title>Senior Slide Show</title>
            <meta name="description" content="File Upload widget with multiple file selection, drag&amp;drop support, progress bar and preview images for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.">
            <meta name="viewport" content="width=device-width">
            <!-- Bootstrap CSS Toolkit styles -->
            <link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap.min.css">
            <!-- Generic page styles -->
            <link rel="stylesheet" href="css/style.css">
            <!-- Bootstrap styles for responsive website layout, supporting different screen sizes -->
            <link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-responsive.min.css">
            <!-- Bootstrap CSS fixes for IE6 -->
            <!--[if lt IE 7]><link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-ie6.min.css"><![endif]-->
            <!-- Bootstrap Image Gallery styles -->
            <link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/css/bootstrap-image-gallery.min.css">
            <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
            <link rel="stylesheet" href="css/jquery.fileupload-ui.css">
            <!-- CSS adjustments for browsers with JavaScript disabled -->
            <noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
            <!-- Shim to make HTML5 elements usable in older Internet Explorer versions -->
            <!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
            </head>
            <body>
            <div class="navbar navbar-fixed-top">
                <div class="navbar-inner">
                    <div class="container">
                        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </a>
                        <a class="brand" href="http://www.dpnews.org">Dos Pueblos Senior Slide Show</a>
                        <div class="nav-collapse">
                            <!--<ul class="nav">
                                <li class="active"><a href="http://blueimp.github.com/jQuery-File-Upload/">Demo</a></li>
                                <li><a href="https://github.com/blueimp/jQuery-File-Upload#download">Download</a></li>
                                <li><a href="https://github.com/blueimp/jQuery-File-Upload">Source Code</a></li>
                                <li><a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Documentation</a></li>
                                <li><a href="https://github.com/blueimp/jQuery-File-Upload#support">Support</a></li>
                                <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
                            </ul>-->
                        </div>
                    </div>
                </div>
            </div>
            <div class="container">
                <div class="page-header">
                    <h1>Dos Pueblos Senior Slide Show 2013Uploader</h1>
                </div>
                <blockquote>
                    <p>Hello everyone! Welcome to the Senior Slide Show uploader.<br>
                    To use this uploader, all you have to do is click the "Add Files" button, and pick out your video/image. Maximum file size is 2GB.<br>
                    After that, just click the "Start" button next to the queued file. It will go right to the Senior Slide Show.</p>
                </blockquote>
                <br>
                <!-- The file upload form used as target for the file upload widget -->
                <form id="fileupload" action="//jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">
                    <!-- Redirect browsers with JavaScript disabled to the origin page -->
                    <noscript><input type="hidden" name="redirect" value="http://blueimp.github.com/jQuery-File-Upload/"></noscript>
                    <input type="hidden" name="MAX_FILE_SIZE" value="3000000000" />
                    <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
                    <div class="row fileupload-buttonbar">
                        <div class="span7">
                            <!-- The fileinput-button span is used to style the file input field as button -->
                            <span class="btn btn-success fileinput-button">
                                <i class="icon-plus icon-white"></i>
                                <span>Add files...</span>
                                <input type="file" name="files[]" multiple>
                            </span>
                            <button type="submit" class="btn btn-primary start">
                                <i class="icon-upload icon-white"></i>
                                <span>Start upload</span>
                            </button>
                            <button type="reset" class="btn btn-warning cancel">
                                <i class="icon-ban-circle icon-white"></i>
                                <span>Cancel upload</span>
                            </button>
                            <!--<button type="button" class="btn btn-danger delete">
                                <i class="icon-trash icon-white"></i>
                                <span>Delete</span>
                            </button>-->
                            <input type="checkbox" class="toggle">
                        </div>
                        <!-- The global progress information -->
                        <div class="span5 fileupload-progress fade">
                            <!-- The global progress bar -->
                            <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
                                <div class="bar" style="width:0%;"></div>
                            </div>
                            <!-- The extended global progress information -->
                            <div class="progress-extended">&nbsp;</div>
                        </div>
                    </div>
                    <!-- The loading indicator is shown during file processing -->
                    <div class="fileupload-loading"></div>
                    <br>
                    <!-- The table listing the files available for upload/download -->
                    <table role="presentation" class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>
                </form>
                <br>
                <!--<div class="well">
                    <h3>Demo Notes</h3>
                    <ul>
                        <li>The maximum file size for uploads in this demo is <strong>5 MB</strong> (default file size is unlimited).</li>
                        <li>Only image files (<strong>JPG, GIF, PNG</strong>) are allowed in this demo (by default there is no file type restriction).</li>
                        <li>Uploaded files will be deleted automatically after <strong>5 minutes</strong> (demo setting).</li>
                        <li>You can <strong>drag &amp; drop</strong> files from your desktop on this webpage with Google Chrome, Mozilla Firefox and Apple Safari.</li>
                        <li>Please refer to the <a href="https://github.com/blueimp/jQuery-File-Upload">project website</a> and <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">documentation</a> for more information.</li>
                        <li>Built with Twitter's <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> toolkit and Icons from <a href="http://glyphicons.com/">Glyphicons</a>.</li>
                    </ul>
                </div>-->
            </div>
            <!-- modal-gallery is the modal dialog used for the image gallery -->
            <div id="modal-gallery" class="modal modal-gallery hide fade" data-filter=":odd" tabindex="-1">
                <div class="modal-header">
                    <a class="close" data-dismiss="modal">&times;</a>
                    <h3 class="modal-title"></h3>
                </div>
                <div class="modal-body"><div class="modal-image"></div></div>
                <div class="modal-footer">
                    <a class="btn modal-download" target="_blank">
                        <i class="icon-download"></i>
                        <span>Download</span>
                    </a>
                    <a class="btn btn-success modal-play modal-slideshow" data-slideshow="5000">
                        <i class="icon-play icon-white"></i>
                        <span>Slideshow</span>
                    </a>
                    <a class="btn btn-info modal-prev">
                        <i class="icon-arrow-left icon-white"></i>
                        <span>Previous</span>
                    </a>
                    <a class="btn btn-primary modal-next">
                        <span>Next</span>
                        <i class="icon-arrow-right icon-white"></i>
                    </a>
                </div>
            </div>
            <!-- The template to display files available for upload -->
            <script id="template-upload" type="text/x-tmpl">
            {% for (var i=0, file; file=o.files[i]; i++) { %}
                <tr class="template-upload fade">
                    <td class="preview"><span class="fade"></span></td>
                    <td class="name"><span>{%=file.name%}</span></td>
                    <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
                    {% if (file.error) { %}
                        <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
                    {% } else if (o.files.valid && !i) { %}
                        <td>
                            <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
                        </td>
                        <td>{% if (!o.options.autoUpload) { %}
                            <button class="btn btn-primary start">
                                <i class="icon-upload icon-white"></i>
                                <span>Start</span>
                            </button>
                        {% } %}</td>
                    {% } else { %}
                        <td colspan="2"></td>
                    {% } %}
                    <td>{% if (!i) { %}
                        <button class="btn btn-warning cancel">
                            <i class="icon-ban-circle icon-white"></i>
                            <span>Cancel</span>
                        </button>
                    {% } %}</td>
                </tr>
            {% } %}
            </script>
            <!-- The template to display files available for download -->
            <script id="template-download" type="text/x-tmpl">
            {% for (var i=0, file; file=o.files[i]; i++) { %}
                <tr class="template-download fade">
                    {% if (file.error) { %}
                        <td></td>
                        <td class="name"><span>{%=file.name%}</span></td>
                        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
                        <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
                    {% } else { %}
                        <td class="preview">{% if (file.thumbnail_url) { %}
                            <a href="{%=file.url%}" title="{%=file.name%}" data-gallery="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
                        {% } %}</td>
                        <td class="name">
                            <a href="{%=file.url%}" title="{%=file.name%}" data-gallery="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
                        </td>
                        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
                        <td colspan="2"></td>
                    {% } %}
                    <td>
                        <!--<button class="btn btn-danger delete" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"{% if (file.delete_with_credentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
                            <i class="icon-trash icon-white"></i>
                            <span>Delete</span>
                        </button>-->
                        <input type="checkbox" name="delete" value="1" class="toggle">
                    </td>
                </tr>
            {% } %}
            </script>
            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
            <script src="js/vendor/jquery.ui.widget.js"></script>
            <!-- The Templates plugin is included to render the upload/download listings -->
            <script src="http://blueimp.github.com/JavaScript-Templates/tmpl.min.js"></script>
            <!-- The Load Image plugin is included for the preview images and image resizing functionality -->
            <script src="http://blueimp.github.com/JavaScript-Load-Image/load-image.min.js"></script>
            <!-- The Canvas to Blob plugin is included for image resizing functionality -->
            <script src="http://blueimp.github.com/JavaScript-Canvas-to-Blob/canvas-to-blob.min.js"></script>
            <!-- Bootstrap JS and Bootstrap Image Gallery are not required, but included for the demo -->
            <script src="http://blueimp.github.com/cdn/js/bootstrap.min.js"></script>
            <script src="http://blueimp.github.com/Bootstrap-Image-Gallery/js/bootstrap-image-gallery.min.js"></script>
            <!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
            <script src="js/jquery.iframe-transport.js"></script>
            <!-- The basic File Upload plugin -->
            <script src="js/jquery.fileupload.js"></script>
            <!-- The File Upload file processing plugin -->
            <script src="js/jquery.fileupload-fp.js"></script>
            <!-- The File Upload user interface plugin -->
            <script src="js/jquery.fileupload-ui.js"></script>
            <!-- The main application script -->
            <script src="js/main.js"></script>
            <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE8+ -->
            <!--[if gte IE 8]><script src="js/cors/jquery.xdr-transport.js"></script><![endif]-->
            </body> 
            </html>

高级幻灯片放映
Dos Pueblos高级幻灯片放映2013上传程序
大家好!欢迎使用高级幻灯片放映上载程序。
要使用此上传程序,您只需单击“添加文件”按钮,然后选择您的视频/图像。最大文件大小为2GB。
之后,只需单击排队文件旁边的“开始”按钮。它将直接进入高级幻灯片放映


添加文件。。。 开始上传 取消上传

{% } %} {%=o.formatFileSize(file.size)%} {% } %} {% } %}

有人能帮忙吗?

。好的,我不确定我是否阅读了您的代码,但是既然$name是在服务器端声明的,那么声明一个空变量,然后通过Ajax将客户机选择(定义)的值传递给它怎么样。然后用新变量值将名称声明为变量($$name)。这样行吗?()

…好的,如果您可以通过GET变量传递值,您可以执行如下操作:

启动Ajax调用:

function passname()
{
   var xmlhttp;

   if(window.XMLHttpRequest)
   {
      xmlhttp=new XMLHttpRequest();
   }

   else { xmllhttp=new ActiveXObject("Microsoft.XMLHTTP"); } 

   xmlhttp.onreadystatechange=function()
   {
      if(xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        var newname = document.getElementById("chosen_name").value;
        xmlhttp.open("GET","receive_newname.php?value="+newname, true);
        xmlhttp.send()
      }
   }

}
。。显然,您需要让接收PHP文件receive_newname.PHP位于接收$_GET['value']并将其分配给$name变量的服务器上(或者在您的情况下,它可能位于您拥有的同一个PHP服务器文件中)


我认为这是可行的:)但没有测试它。

在您从AJAX调用的
服务器/php/index.php
文件中,只需调用
$\u POST['dataString']
即可获得用户输入的内容;)

换句话说,您应该影响
$name
变量


$name=$\u POST['dataString']

你能给我们提供文件上传库的链接吗?我添加了完整的html索引代码谢谢你的回答,我不太擅长ajax,如果不刷新页面,我怎么做呢?…我想你可以向任何东西添加onClick事件(很抱歉,我还没有阅读你的html代码)并执行类似的操作:onClick=“passname()”谢谢大家,我终于解决了!事实证明,我不必使用ajax。。刚刚在PHHP脚本中调用GET方法写入外部.txt文件,并为$name变量打开了taht-txt文件。谢谢大家的帮助!