2014-01-14 2 views
0

3 가지 특정 작업을 수행하려는 파일 업로드 양식을 작성 중입니다. 어쩌면 늦었어요. 아마추어 코더이기 때문에 여기에서해야 할 일에 대해 머리를 감싸는 데 어려움을 겪고 있습니다.문의 양식과 업로드 파일 양식의 교차점

  • 파일 업로드시 업로드 양식을 이메일로 보내 주시면 도움이됩니다.
  • 나는 업로드 된 파일이 www.mywebsite.com/uploads/ $client의 새 디렉토리를 만드는 데 도움이 필요. (형태되는 채워집니다)
  • 내가 양식 (이메일, 이름, 선택한 파일)을 제출할 준비가되기 전에 작성에 필요한 정보가 있는지 확인하는 데 도움이 필요
  • .

    <?php 
    $name = $_FILES['file']['name'];  
    $extension = strtolower(substr($name, strpos($name, '.') + 1)); 
    $type = $_FILES['file']['type']; 
    $tmp_name = $_FILES['file']['tmp_name']; 
    $size = $_FILES['file']['size']; 
    $max_file_size = 34000000; 
    $client = $_POST['client']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $formcontent="From: $name \n Message: $message"; 
    $recipient = "[email protected]"; 
    $subject = "File upload from:"; 
    $mailheader = "From:" . $email; 
    
    
        if (isset($name)) { 
        if (!empty($name)) { 
    
         if (($size<=$max_file_size)) { 
    
         $location = '../uploads/'; 
          if (move_uploaded_file($tmp_name, $location.$name)); { 
           echo 'File uploaded :)'; 
          } 
         } else { 
          echo('File type not accepted. File size must be 30mb or less.'); 
         } 
        } else { 
         echo('Please choose a file before hitting submit'); 
        } 
        } 
    
        ?> 
    

    난 당신이 제공 할 수있는 모든 도움을 주셔서 감사합니다 :

  • 여기

내가 지금까지 가지고있는 코드입니다! P

답변

1

PHP 이메일 - - http://php.net/mkdir

JQuery와 양식 유효성 검사 - http://jqueryvalidation.org/documentation/

이 Google 검색이 나를 죽이고있다가 http://php.net/manual/en/function.mail.php

PHP 디렉토리를 생성 질문들. 짧지 만 유용한 힌트를 제공하려고 노력할 것입니다.

  1. 메일을 보내려면 mail function을 사용할 수 있지만 메일 공급자가 스팸으로 표시 할 수있는 것처럼 좋지 않을 수 있습니다.
  2. 새 디렉토리를 만들 때 mkdir function을 사용할 수 있습니다. mkdir 앞에 exists 디렉토리가 있는지 확인할 수 있습니다.
  3. 양식 유효성 검사는 자바 스크립트를 배울 필요가, 아마도 jQuery를, 또는 자바 스크립트 폼 유효성 검사 프레임 워크를 사용합니다.
+0

정보를 주셔서 감사합니다, 올바른 방향으로 나를 가리 킵니다! – David

1

그것은 매우 긴 해답이 될 것이다 :

+0

정보를 제공해 주셔서 감사합니다. – David

1
<?php 
$max_file_size = 34000000; 
$client = $_POST['client']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
if($client!='' && $email!=''){ 
    $filename = stripslashes($_FILES['file']['name']); 
    if($filename!=''){ 
     $size=filesize($_FILES['file']['size']); 
     $extension = getExtension($filename); 
     $extension = strtolower($extension); 
     if($extension=="jpg" || $extension=="jpeg" || $extension=="png"){ 
      if($size <= $file_size_limit){ 
      move_uploaded_file($_FILES["file"]["name"],"upload/" .date("d_m_h_i_s"). $_FILES["file"]["name"]); 
      }else { 
       echo 'Max File Uplode size Error'; 
      } 
     } else{ 
     echo 'Invalid File Type'; 
     } 
    } else { 
    echo 'Please insert a file'; 
    } 
} else { 
echo 'Please enter the details'; 
} 


function getExtension($str){ 
    $i = strrpos($str,".") 
    if (!$i){ 
     return ""; 
    } 
    $l = strlen($str) - $i; 
    $ext = substr($str,$i+1,$l); 
    return $ext; 
} 
?> 

내가 그것을 테스트하지 않았습니다. 이제 메일 기능에서 세부 정보를 사용해야합니다. 파일은 확장자 & 크기를 기준으로 검사됩니다. 양식 업로드를 위해 POST & enctype = "multipart/form-data"와 같은 메소드를 사용하시기 바랍니다. JS를 사용하여 전자 메일 유효성 검사를 사용해보십시오

+0

이것은 내가 가고 싶은 곳으로 나를 데려다주지는 못했지만 나는 질문을 게시 한 이래로 내가 진전을 이뤘다고 생각한다! :) – David

관련 문제