Que dois-je faire si les phpcms ne peuvent pas ajouter de filigrane ?
Tutoriel sur la résolution du problème de l'échec de la localisation d'images à distance phpcms et de la fonction de filigrane invalide
Les modifications spécifiques sont les suivantes : include/attachment.class.php a ajouté une fonction
Le code est le suivant :
function ycimg($file,$newfile) { // 初始化一个 cURL 对象 $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, $file); // 设置header curl_setopt($curl, CURLOPT_HEADER, 0); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 运行cURL,请求网页 $data = curl_exec($curl); // 关闭URL请求 curl_close($curl); //写入获得的数据 $write = @fopen($newfile,"w"); fwrite($write,$data); fclose($write); return TRUE; }
Il peut y avoir un petit problème ici, cependant, il peut être capturé avec succès lors du test. Il renvoie donc directement VRAI.
Ensuite, recherchez
if(@$upload_func($file, $newfile))
dans ce fichier et modifiez-le en :
if($this->ycimg($file,$newfile))
Enfin, supprimez :
@chmod($newfile, 0777);
Ce morceau de code.
De cette façon, il est capturé à distance. Le taux de réussite est très élevé Lors des tests locaux, le taux de réussite est de 100%, tandis que le taux de réussite de la fonction de copie est inférieur à 70%...
Comme mentionné ci-dessus. , les facteurs réseau ont un plus grand impact.
Ensuite, il y a la fonction d'ajout de filigranes aux images enregistrées à distance
C'est toujours le même fichier :
$this->downloadedfiles[$aid] = $filepath;
$waterpath = UPLOAD_URL.$filepath; require_once 'image.class.php'; $image = new image(); $image->watermark($waterpath, '', '9', 'images/watermark.gif', '', '5', '#ff0000', '80','100');
Site Web PHP chinois, un grand nombre de
Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!