首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php上传文件

Php上传文件
EN

Stack Overflow用户
提问于 2009-12-14 20:23:54
回答 7查看 559关注 0票数 1

代码如下所示:

html

代码语言:javascript
复制
<form action="contact.php" method="post" enctype="multipart/form-data" onsubmit="return Validare();">

    <input type="text" name="nume" value="Nume" class="contact" id="Nume" onclick="if(this.value=='Nume')this.value='';" onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')this.value='Nume'" /><font color="red">*</font><br />
            <input type="text" name="email" value="Email" class="contact" id="Email" onclick="if(this.value=='Email')this.value='';" onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')this.value='Email'" /><font color="red">*</font><br />
            <input type="text" name="telefon" value="Telefon" class="contact" id="Telefon" onclick="if(this.value=='Telefon')this.value='';" onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')this.value='Telefon'" /><br />
            <textarea name="mesaj" rows="10" class="contact" id="Mesaj" onclick="if(this.value=='Mesaj')this.value='';" onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')this.value='Mesaj'">Mesaj</textarea>

<input type="file" name="file[]" />
<input type="file" name="file[]" />
<input type="file" name="file[]" />
<input type="submit" value="Trimite" />
</form>

php

代码语言:javascript
复制
for($i=0; $i<3; $i++){
if($_FILES["file"]["size"][$i] > 0){
    $rand = rand(10000, 99999);
    $name = $rand.rand(10000, 99999).$_FILES["file"]["name"][$i];
            $tmp_name = $_FILES["file"]["tmp_name"][$i];
    $target_path_big = "http://biroutraduceri.net/fisiere/".$name;
    move_uploaded_file($tmp_name, "fisiere/".$name);
}
}

javascript

代码语言:javascript
复制
<script>
function Validare(){
    if(document.getElementById("Nume").value.replace(/^\s+|\s+$/g,'') == "" || document.getElementById("Nume").value.replace(/^\s+|\s+$/g,'') == "Nume"){
        alert("Numele nu este valid!");
        return false;
    }
    if(document.getElementById("Email").value.replace(/^\s+|\s+$/g,'') == "" || document.getElementById("Email").value.replace(/^\s+|\s+$/g,'') == "Email"){
        alert("Email-ul nu este valid!");
        return false;
    }
    if(document.getElementById("Mesaj").value.replace(/^\s+|\s+$/g,'') == "" || document.getElementById("Mesaj").value.replace(/^\s+|\s+$/g,'') == "Mesaj"){
        alert("Mesajul nu este valid!");
        return false;
    }
    return true;
}
</script>

当我按下提交时,什么都不会发生。文件没有上传。

我哪里错了??

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-12-14 20:49:07

可能是权限问题,您的脚本是否允许在"fisiere/".$name中编写并且是"fisiere/".$name?您可能需要使用绝对路径。

编辑:您不能将图像写入http url,需要将其写入本地文件路径,并且需要确保php具有写入该路径/目录的权限。

票数 0
EN

Stack Overflow用户

发布于 2009-12-14 20:46:59

您的PHP代码有一个错误,$tmp_name从未设置过。

修正码

代码语言:javascript
复制
for($i=0; $i<3; $i++){
    if($_FILES["file"]["size"][$i] > 0){
        $rand = rand(10000, 99999);
        $name = $rand.rand(10000, 99999).$_FILES["file"]["name"][$i];
        $target_path_big = "http://biroutraduceri.net/fisiere/".$name;
        move_uploaded_file($_FILES["file"]["tmp_name"][$i], "fisiere/".$name);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2009-12-14 20:29:32

$tmp_name从来没有初始化到任何东西。

应该将$tmp_name设置为$_FILES‘FILES’$i;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1903256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档