Je tente de télécharger des images enregistrées dans une url dans un dossier local, et j'ai essayé de le faire avec curl. Je voudrais savoir s'il est nécessaire d'inclure curl ou le télécharger seperateley, ou si ma fonction va juste fonctionner. Je voudrais savoir s'il y a des problèmes évidents avec ma mise en œuvre ci-dessous. Je suis conscient de la vulnérabilité sql et je passe à des instructions préparées. J'ai coupé les parties non pertinentes du code pour la brièveté.Problème curl et php - page blanche
edit: la fonction est hors de la boucle while. La page s'affiche si je commente l'appel de la fonction, sinon je n'ai qu'une page blanche. Pourquoi est-ce
<?php
header("Content-Type: text/html; charset=utf-8");
if (isset($_GET["cmd"]))
$cmd = $_GET["cmd"];
else
die("You should have a 'cmd' parameter in your URL");
$pk = $_GET["pk"];
$con = mysql_connect("localhost","someuser","notreal");
if(!$con)
{
die('Connection failed because of' .mysql_error());
}
mysql_query('SET NAMES utf8');
mysql_select_db("somedb",$con);
if($cmd=="GetAuctionData")
{
$sql="SELECT * FROM AUCTIONS WHERE ARTICLE_NO ='$pk'";
$sql2="SELECT ARTICLE_DESC FROM AUCTIONS WHERE ARTICLE_NO ='$pk'";
$htmlset = mysql_query($sql2);
$row2 = mysql_fetch_array($htmlset);
$result = mysql_query($sql);
function savePicture($imageUrl) {
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $lastImg);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
$fileContents = curl_exec($ch);
curl_close($ch);
$newImg = imagecreatefromstring($fileContents);
return imagejpeg($newImg, "./{$pk}.jpg",100);
}
while ($row = mysql_fetch_array($result))
{
$lastImg = $row['PIC_URL'];
savePicture($lastImg);
<div id='rightlayer'>
<img src='./".$pk.".jpg' width='".$outputWidth."' height='".$outputHeight."'>
</div>
</div>
</div>";
}
}
mysql_free_result($result);
savePhoto() vs savePicture()? – Gumbo
Pourquoi ne pas simplement définir error_reporting sur E_ALL (ou mieux: E_STRICT) et tester votre script? Ce serait le plus facile à voir, s'il y a des erreurs. – Gumbo
Je définis le rapport d'erreur sur E_ALL, mais je n'ai pas accès aux fichiers journaux et rien n'est affiché dans le navigateur. –