在PHP中将图像上传到Parse(Back4App)

时间:2017-05-21 11:11:35

标签: php

大家好我正在尝试上传图片以便用PHP解析。我能够添加对象所有列完美的工作,除了图像列保持未定义我检查了php.ini(url_fopen:On;)和utf-8字符集和许多其他解决方案我认为它的安全性或权限问题! !如果您有任何有用的想法分享它,并提前致谢! 这是我的代码

<?php 

require_once( 'autoload.php' ); 
// Add the "use" declarations where you'll be using the classes
use Parse\ParseObject;
use Parse\ParseUser;
use Parse\ParseException;
use Parse\ParseFile;
use Parse\ParseCloud;
use Parse\ParseClient;
use Parse\ParseQuery;

try {
    $app_id     = "xxxxxxxxxxxxxxxxxxxxxx" ;
    $rest_key   = "xxxxxxxxxxxxxxxxxxxxxx";
    $master_key = "xxxxxxxxxxxxxxxxxxxxxx";

    ParseClient::initialize( $app_id, $rest_key, $master_key );
    ParseClient::setServerURL('https://parseapi.back4app.com', '/');


if(isset($_GET['libelle']) && (isset($_GET['prix']) ) ){
    $libelle = $_GET['libelle'];
    $prix = $_GET['prix'];
}

if ( isset( $_FILES['image'] ) ) {
    $isFileExists = file_exists ($_FILES['image']['tmp_name'] );
    $isGoodSize = ($_FILES['image']['size'] < 600000) && ($_FILES['image']['size'] > 0);

    if ( $isFileExists && $isGoodSize) {
  // save file to Parse
        $file = ParseFile::createFromData( file_get_contents( $_FILES['image']['tmp_name'] ), $_FILES['image']['name']  );
        $file->save();
        //echo 'File URL: <a href="' . $file->getURL() . '" target="_blank">' . $file->getURL() . '</a>';
    } else {
        echo "Erreur";
    }
}


$Prod = ParseObject::create("Produit");
//$Prod = new ParseObject("Produit");
$Prod->set("libelle",$libelle);
$Prod->set("prix",(float)$prix);

if ( isset( $file ) ) {
    $Prod->set("image",$file);
}


try {

    $Prod->save();
    echo 'Object Saved with ID: <strong>' . $Prod->getObjectId() . '</strong>.<br/>';

} catch (ParseException $ex) {  

    echo 'Failed to create new object, with error message: ' . $ex->getMessage();
}

} catch (ParseException $ex) {
    echo $ex->getMessage();
} 


?>

1 个答案:

答案 0 :(得分:0)

我在这里查看更多关于文件的内容!只是为了帮助您,最大文件大小为20MB。您可以使用不同的文件大小进行测试 在Parse PHP SDK的GitHub上的发布页面上,您可以检查修复了ParseFiles错误的1.2.8版本。