2017-05-27 23 views
0

ISSUEにフォームプロセスが必要:私は私の中にフォームフィールドの1のデータに基づいて、「名前」、私の形で生成された.htmlのページというPHPのバッファリングコードを持って自動的に再名前アップロード写真

形。

<!--Start Buffer-> 
<?php ob_start(); $URL=preg_replace('#[^_0-9a-zA-Z]#', '_', $_REQUEST['timeValue']); ?> 

特定のフォームフィールドは、現在のUnixミリ秒クロックと自動移入されていること。

<!--FormPage--> 
    <!--Timevalue/Unix millisecond code/field-> 

    <div class="formElement">TIMESTAMP URL<br><input id="timeValue" name="timeValue"></div> 
    <script src="timeValueURL.js"></script> 

は、そこで...私の.htmlファイルは、最終的には「ミリ秒」は私のフォームは「提出」された瞬間にあったものは何でも同じである「名前」(すなわち番号)で保存されます。

*注:私の「提出」ボタンは送信時にミリ秒クロックも「更新」します。

生成された.htmlファイルは、有効なディレクトリの1つに保存されます。 'カテゴリ/ニュース'、 'カテゴリ/スポーツ'、 'カテゴリ/エンターテイメント'

(例).htmlファイルが 'news'ディレクトリに保存されていて、フォームが送信されたときのミリ秒クロックが '1500000000000'だった場合.htmlファイルにはURLがあります「mywebsite.com/categories/news/1500000000000.html」は同じ形では


...私は自分自身のサーバ/デバイスからイメージファイルをアップロードするために私の訪問者のためのファイルアップロードフィールドを持っています。

注:許可されている画像ファイルの種類は、JPEG、PNG、およびGIFに制限されています。

アップロードされた画像は「categories-images」という名前のフォルダに保存されます。

現在のところ、それらの画像ファイルはアップロード時の '名前'の下にそのフォルダに保存されます。

例:ユーザーが 'blueimage.jpg'という名前のJPEG画像をアップロードすると、そのファイルは現在url 'mywebsite.com/categories/category-images/blueimage.jpg'に保存されます。

代わりに、画像ファイルが.htmlファイルと同じ '名前'を共有したいと思います。

ので、上記の例を使用して...画像は「1500000000000.jpg」の名前を持っていると

「mywebsite.com/categories/category-images/1500000000000.jpg」のURLアドレスを持っている必要があります。


QUESTION:

、またはおそらくの.htmlファイルの命名に使用されるコードを組み込むと似これを達成する方法はありますか?


注:

私も画像処理のためのPHPを含めるべきであると私に起こりました。

だからここ....

<?php 
    $target_dir = "articles/article-images/"; 
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; 
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
    if(isset($_POST["submit"])) 
    { 
     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if($check !== false) 
     { 
      echo "" . $check[""] . ""; $uploadOk = 1; 
     } 
     else 
     { 
      echo " &#xd7; FILE IS NOT AN IMAGE"; $uploadOk = 0; 
     } 
    } 
    if(file_exists($target_file)) 
    { 
     echo " &#xd7; THIS IMAGE ALREADY EXIST ON SERVER"; $uploadOk = 0; 
    } 
    if ($_FILES["fileToUpload"]["size"] > 500000) 
    { 
     echo " &#xd7; FILE IS TOO LARGE"; $uploadOk = 0; 
    } 
    if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") 
    { 
     echo " &#xd7; ONLY JPG, JPEG, PNG & GIF FILES ARE PERMITTED"; $uploadOk = 0; 
    } 
    if ($uploadOk == 0) 
    { 
     echo " &#xd7; IMAGE WAS NOT UPLOADED"; 
    } 
    else 
    { 
     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) 
     { 
      echo '<img class="fixed-ratio-resize" src="../../articles/article-images/'. basename($_FILES["fileToUpload"]["name"]). '">'; 
     } 
     else 
     { 
      echo " &#xd7; IMAGE WAS NOT UPLOADED"; 
     } 
    } 
?> 

答えて

0

あなただけのhtmlファイル(絶対にそのコードはミリ秒)の名前を取り、$_FILES["fileToUpload"]["name"]を交換する必要があります。その値をという拡張子で参照するつもりです。$imageFileType

<?php 
# Presumably this whole thing is based off a post, so just check at the top 
if(!isset($_POST["submit"])) { 
    # Let the user know, this this can not be accessed without a submission 
    die('Nothing submitted.'); 
} 
# Set the extension first since you aren't going to use the name 
$imageFileType = pathinfo($_FILES["fileToUpload"]["name"],PATHINFO_EXTENSION); 
# Set dir 
$target_dir = "articles/article-images/"; 
# Add your milliseconds carried over from your html script. Add extension, 
# this will be the new name 
$target_file = $target_dir.$millisecs.".{$imageFileType}"; 
# Default affermative 
$uploadOk = 1; 
# Get image size 
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
if($check !== false) { 
    # I am not suer what this is...it doesn't look like you should echo 
    # anything at all... 
    echo "".$check[""].""; 
    $uploadOk = 1; 
} 
else { 
    echo " &#xd7; FILE IS NOT AN IMAGE"; 
    $uploadOk = 0; 
} 

if(file_exists($target_file)) { 
    echo " &#xd7; THIS IMAGE ALREADY EXIST ON SERVER"; 
    $uploadOk = 0; 
} 

if ($_FILES["fileToUpload"]["size"] > 500000) { 
    echo " &#xd7; FILE IS TOO LARGE"; 
    $uploadOk = 0; 
} 
# Set allowed file types 
$allowed = array('jpg','jpeg','png','gif'); 
#Check if type is in list 
if(!in_array(strtolower($imageFileType),$allowed)) { 
    echo " &#xd7; ONLY JPG/JPEG, PNG & GIF FILES ARE PERMITTED"; 
    $uploadOk = 0; 
} 

if($uploadOk == 0) { 
    echo " &#xd7; IMAGE WAS NOT UPLOADED"; 
} 
else { 
    # Move the temp file to the new name here 
    if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     # Write the basename of the new file here 
     echo '<img class="fixed-ratio-resize" src="../../articles/article-images/'. basename($target_file). '">'; 
    } 
    else { 
     echo " &#xd7; IMAGE WAS NOT UPLOADED"; 
    } 
} 
関連する問題