xml Kontrol verilerinin e-komut

2 Cevap php

Yani q-imageuploader.The şirket olarak adlandırılan bu görüntü aktarıcı program bir dosya yükledi ve oluşturulan dizin dosya bir dosya yükledi her zaman yazılabilir bildirmek için komut ile hiç yardımcı olmuyor aldım.

Ben ve / veya bana bir dosya karşıya olduğunu bildirmek, ya da bunun yerine dizin eklenir yeniden yazılmış olma böylece mevcut bir değişiklik olacak bir e-posta komut dosyası yapmak istiyorum. İşte benim kök yerleştirmek için uploader oluşturulan kodudur.

<?xml version="1.0"?>
<uploader>
<view type="thumbnails" thumbsize="115"/>
<view type="details" sizeColumnWidth="70" nameColumnWidth="130" nameColumnLabel="file" sizeColumnLabel="size"/>
<fileFilter description="Photos and images (*.jpg, *.jpeg, *.gif, *.png)" extension="*.jpg; *.jpeg; *.gif; *.png"/>
<photo_limit number="40" caption="You reached photos limit:"/>
<resize process="true" compression="100" maxWidth="1200" maxHeight="1200" generate_thumbs="true" thumbs_max_size="120"/>
<upload preload="Preloading images:" upload="Uploading images to server:" prepare="Processing and image compression:" of="of" cancel="Cancel" start="Start" warning_empty_required_field="Warning! One of the required fields is empty!" confirm="Will be uploaded:"/>
<urls urlToUpload="upload.php?" urlOnUploadSuccess="http://www.~.com/checkout.html" urlOnUploadFail="http://www.~.com/tryagain.html" urlUpdateFlashPlayer="http://www.~.com/flashalternative.html" useMessageBoxesAfterUpload="false" messageOnUploadSuccess="Images were successfully uploaded!" messageOnUploadFail="Error! Images failed to upload!" jsFunctionNameOnUpload=""/>
<watermark for_thumb="" for_image=""/>
<intro enabled="true">
    <control type="addPhotosButton" x="400" y="270" width="160" height="33" label="Add Photos for Baublet"/>
    <control type="Image" x="18" y="80" path="image_uploader_data/uploaderinstructions.png"/>
    <control type="Image" x="10" y="10" path=""/>
    <control type="Image" x="380" y="68" path="image_uploader_data/Sample1uploader.png"/>
</intro>
<main>
    <switcher thumbsLabel="thumbnails" detailsLabel="details" backgroundAlphaNormal="30" backgroundAlphaActive="68" backgroundColor="0xEAEAEA" x="500" y="10"/>
    <control type="textField" x="10" y="350" width="100" height="22">&lt;b&gt;Photo title:&lt;/b&gt;</control>
    <control type="TextInput" x="92" y="350" width="240" height="22" initValue="Your Last Name Goes Here" id="PHOTO_TITLE" label="title" isGlobal="true" showInDetailedView="true" detailed_width="250" isRequired="false"/>
    <control type="textField" x="10" y="385" width="100" height="22">&lt;b&gt;Description:&lt;/b&gt;</control>
    <control type="TextInput" x="92" y="385" width="240" height="22" initValue="Last name of Recipeint" id="PHOTO_DESCR" label="" isGlobal="true" showInDetailedView="false"/>
    <control type="textField" x="355" y="335" width="130" height="22">&lt;b&gt;Set privacy:&lt;/b&gt;</control>
    <control type="RadioGroup" x="352" y="360" id="PHOTO_VISIBILITY" label="visibility" defaultValue="0" gap="-1" isGlobal="true" showInDetailedView="true" detailed_width="75" width="150" height="22">
        <item label="public" value="0"/>
        <item label="friends only" value="1"/>
        <item label="for me only" value="2"/>
    </control>
    <control type="addPhotosButton" x="465" y="340" width="160" height="33" label="Add Additional Photos"/>
    <control type="uploadButton" x="465" y="380" width="160" height="33" label="Start upload"/>
</main>
</uploader>

Ben kontrol tipi PhotoID kapmak gerekiyor & PHOTODESCR = ... ve bir e-posta ya da bana haber olacak bir şey içine bu olsun.

php-postayla forma bu verileri almak için gerekli olan?

Teşekkürler,

Michael.

Ben sadece 1/2, bir ürünü bulmak için bir şey satın aldığınızda (ps) nefret ediyorum.

BURAYA upload.php olduğunu:

<?php

$destination_dir = "uploaded/";
$targetPath = dirname($_SERVER['SCRIPT_URI']) . "/";

$html_start = "
<!doctype html public \"-//w3c//dtd html 4.0 transitional//en\">

<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<title>Upload results</title>
</head>
<body>
";

$html_end = "
</body>
</html>
";

// Check if there are AdditionalStringVariable
$result = "AdditionalStringVariable: " . $_POST["AdditionalStringVariable"];
$result .= "<br>";


// Process value of QIU_thumbnails_Imagedata field, this is JPEG-files array of     generated thumbnails
if($_FILES[QIU_thumbnails_Imagedata])
{
foreach ($_FILES[QIU_thumbnails_Imagedata][name] as $key => $value) 
{
    $uploadfile = $destination_dir . basename($_FILES[QIU_thumbnails_Imagedata][name][$key]);


    if (move_uploaded_file($_FILES['QIU_thumbnails_Imagedata']['tmp_name'][$key], $uploadfile)) 
    {

        $big_image_name = $_FILES[Imagedata][name][$key];

        $result .= "<a href='" .$big_image_name. "'>" . "<img border = '0' src='".$value . "'/></a><br><br>";
    }
}
}
//
$result .= "<br>";


// Process value of Imagedata field, this is JPEG-files array

foreach ($_FILES[Imagedata][name] as $key => $value) 
{
$uploadfile = $destination_dir . basename($_FILES[Imagedata][name][$key]);

if (move_uploaded_file($_FILES['Imagedata']['tmp_name'][$key], $uploadfile)) 
{
    $result .= "File uploaded: <a href='".  $value . "'>" . $value . "</a><br>";
}
}


//
$result .= "<br>";




//
// Process  GlobalControlData field, this is the array of serialized data for Global controls 
// the value for each control is: id|value
    if($_POST[GlobalControlData])
    {
foreach ($_POST[GlobalControlData] as $key => $value) 
{
    $globalControlExploded =  explode("|", $value);
    $result .= "\n" . "GlobalControlData:\n\t" . $globalControlExploded[0] ."\t:\t" . $globalControlExploded[1] . "<br>";
}
}

//
// Process LocalControlData  field, this is the array of serialized data for Local controls 
// value for each image is: image||id1|value1^id2|value2^id3|value3, where image - is picture name, id - is unique control ID , and a value - control value
if($_POST[LocalControlData])
    {
foreach ($_POST[LocalControlData] as $key => $value) 
{
    $exploded = explode("||", $value);
    $parentFile = $exploded[0];

    $result .= "<br>" . $exploded[0] . "<br>";

    $explodedToControls = explode("^", $exploded[1]);

    foreach ($explodedToControls as $cnt => $val) 
    {
        $eachControl = explode("|", $val);
        $result .= "\tcontrol:\t" . $eachControl[0] . ", value:\t" . $eachControl[1] . "<br>";

    }
    //
}
}
//

$result = $html_start . $result . $html_end;

//
if(@$fp = fopen($destination_dir.'index.html', 'w')) {
  fwrite($fp, $result);
  fclose($fp);
}

echo $targetPath . $destination_dir;

?>

2 Cevap

Benim yorumum bir cevapta sığmayacak kadar uzundu ve upload.php ekledim beri ben başka bir cevap göndermek için ok düşünüyorum.

Bu upload.php alır önce açıkçası daha var oluyor.

Koduna baktığımızda, ben tahmin ediyorum ki PHOTOID & PHOTODESCR _POST ['GlobalControlData'] veya $ _POST ['LocalControlData'] birinde (bir dize yan, yani tüm parametreleri yan) tefrika edilir.

O $ patladı dizi Baskı ve aradığınız parametreler içinde olup olmadığını görmek.

Bu dürüst olmak harika bir senaryo değil, hataları kontrol etmez ya da (büyük bir güvenlik riski, birisi bir exe dosyası veya bir php dosyası ve gerçekten karışıklık sitenizin kadar upload olabilir) aslında bir görüntü olduğunu kontrol edin. Yerine bu ARMUT modülü Çıkış: http://pear.php.net/package/HTTP_Upload. Hızlılar yani ARMUT modülleri PHP derlenmektedir. Onlar üzerinde çalışan bir kaç kişi oldu bu yüzden daha güvenilir konum ve çok güvenli.

Ben bu dosya ile upload.php bir POST isteği gönderir (o btw Betiğinize özgü) XML komut sanırım. Bu dosyayı değiştirmek zorunda olacak.

(Muhtemelen upload.php bir parametre olarak geçirilir) olduğunu "urlOnUploadSuccess" URL sizi yönlendirmek için çalışır dosyasında bir nokta olmalıdır. Bu yükleme başarılı biliyorum kod noktasıdır ve orada bir e-posta göndermek için basit bir PHP şeyi yapabilirsiniz.