recherche
Maisondéveloppement back-endtutoriel phpThinkphp3.2 Linux下缩略图生成失败,该怎么处理

Thinkphp3.2 Linux下缩略图生成失败
代码在本地运行正常,部署到Linux就不好使了。
前端代码:

<br />	<script type="text/javascript"><br />	$(function() {<br />		$("#file_upload").uploadify({<br />	        height        : 30,<br />	        swf           : '{$Think.const.SITE_URL}public/GoodsUploadify/uploadify.swf',<br />	        uploader      : '{:U("Goods/GoodsUploadify")}',<br />	        width         : 120,<br />	      	//允许上传的文件后缀<br />	        'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',<br />	        'multi'       : false, //是否支持多文件上传 <br />	        'simUploadLimit' : 1, //一次同步上传的文件数目<br />	        'sizeLimit'      : 31457280, //设置单个文件大小限制<br />	        'queueSizeLimit' : 1, //队列中同时存在的文件个数限制<br />	        //'buttonImage':'/public/uploadify_shop/upbutton.jpg',//浏览按钮的背景图片路径<br />	        'formData': { 'sessionid': '<?php echo session_id();?>'}, <br />	        'onUploadSuccess' : function(file, data, response) {<br />	        	var data = $.parseJSON(data);<br />            $('#images').attr('src','{$Think.const.SITE_URL}public/GoodsImages/'+data['url']);<br />            $('#original_img').val(data['url']);<br />	        },<br />	    });<br />	});<br />	</script><br />


php端代码:
<br />public function GoodsUploadify() {<br />		if (! empty ( $_FILES )) {<br />			if (isset ( $_POST ['sessionid'] )) {<br />				session_id ( $_POST ['sessionid'] );<br />				session_start (); // 注意此函数要在session_id之后<br />			}<br />			import ( 'Org.Net.UploadFile' );<br />			$upload = new \UploadFile ();<br />			$upload->maxSize = 3292200;<br />			$upload->allowExts = explode ( ',', 'jpg,gif,png,jpeg' );<br />			$upload->savePath = "./public/GoodsImages/";<br />			// 设置需要生成缩略图,仅对图像文件有效<br />			$upload->thumb = true;<br />			// 设置需要生成缩略图的文件后缀<br />			$upload->thumbPrefix = 'z_,s_'; // 生产2张缩略图<br />			                                // 设置引用图片类库包路径<br />			$upload->thumbMaxWidth = '520,225';<br />			// 设置缩略图最大高度<br />			$upload->thumbMaxHeight = '520,225';<br />			// 设置上传文件规则<br />			$upload->saveRule = 'uniqid';<br />			// 删除原图<br />			// $upload->thumbRemoveOrigin = true;<br />			$this->ajaxReturn ( 1, 'json' );<br />			if (! $upload->upload ()) { // 上传错误提示错误信息<br />				$this->ajaxReturn ( 2, 'json' );<br />				$this->ajaxReturn ($upload->getErrorMsg (), 0, 'json' );<br />			} else { // 上传成功 获取上传文件信息<br />				$this->ajaxReturn ( 3, 'json' );<br />				$info = $upload->getUploadFileInfo ();<br />				$temp_size = getimagesize ( "./public/GoodsImages/" . $info ['0'] ['savename'] );<br />				if ($temp_size [0] < 100 || $temp_size [1] < 100) { // 判断宽和高是否符合要求<br />					$this->ajaxReturn ( 0, '图片宽或高不得小于100px!', 0, 'json' );<br />				}<br />				$data ['picName'] = $info ['0'] ['savename'];<br />				$data ['status'] = 1;<br />				$data ['url'] = $data ['picName'];<br />				$data ['info'] = $info;<br />				$this->ajaxReturn ( $data, 'json' );<br />			}<br />			<br />		}<br />	}<br />


其中$this->ajaxReturn ( (1/2/3), 'json' );为调试代码
可以返回1,当1注销时2和3都不返回,1,2,3都注销时,什么都不返回,
缩略图和原图都是一个路径,原图上成功说明缩略图路径没错。所以我就搞不懂了。
现在问题就是,缩略图生成失败,没有返回值,求大神帮忙,本来想把上传插件源码传上来参考的,没有上传附件功能啊,放这个框里 又太长 = =
------解决方案--------------------
if (isset ( $_POST ['sessionid'] )) {
                session_id ( $_POST ['sessionid'] );
                session_start (); // 注意此函数要在session_id之后
            }
THINKPHP 自动启用 session_start ,你自己设置的,重复了。

import ( 'Org.Net.UploadFile' );
            $upload = new \UploadFile ();

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Quelle est la différence entre les délais de session absolus et inactifs?Quelle est la différence entre les délais de session absolus et inactifs?May 03, 2025 am 12:21 AM

Le délai d'expiration de session absolue commence au moment de la création de session, tandis qu'un délai d'expiration inactif de session démarre au moment de la non-opération de l'utilisateur. Le délai d'expiration de session absolue convient aux scénarios où un contrôle strict du cycle de vie de la session est nécessaire, tels que les applications financières; Le délai d'attente de session inactif convient aux applications qui souhaitent que les utilisateurs maintiennent leur session active pendant longtemps, comme les médias sociaux.

Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?Quelles étapes prenez-vous si les sessions ne fonctionnent pas sur votre serveur?May 03, 2025 am 12:19 AM

La défaillance de la session du serveur peut être résolue en suivant les étapes: 1. Vérifiez la configuration du serveur pour vous assurer que la session est correctement définie. 2. Vérifiez les cookies des clients, confirmez que le navigateur le prend en charge et l'envoyez-le correctement. 3. Vérifiez les services de stockage de session, tels que Redis, pour vous assurer qu'ils fonctionnent normalement. 4. Examiner le code de demande pour assurer la logique de session correcte. Grâce à ces étapes, les problèmes de conversation peuvent être diagnostiqués et réparés efficacement et l'expérience utilisateur peut être améliorée.

Quelle est la signification de la fonction session_start ()?Quelle est la signification de la fonction session_start ()?May 03, 2025 am 12:18 AM

Session_Start () IsCrucialInPhpFormanAgingUsersessions.1) ItinitiateSanEwSessionIfNoneExists, 2) ConsomaSanExistingSession, and3) SetSasessionCooKieforContinuityAcrossrequests, permettant aux applications liées à la réaction et à la personne.

Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?Quelle est l'importance de définir l'indicateur httponly pour les cookies de session?May 03, 2025 am 12:10 AM

La définition de l'indicateur httponly est cruciale pour les cookies de session car il peut effectivement empêcher les attaques XSS et protéger les informations de session utilisateur. Plus précisément, 1) l'indicateur httponly empêche JavaScript d'accéder aux cookies, 2) l'indicateur peut être réglé via Setcookies et Make_Response dans PHP et FLASK, 3) Bien qu'il ne puisse pas être empêché de toutes les attaques, elle devrait faire partie de la politique de sécurité globale.

Quel problème les sessions PHP résolvent-elles dans le développement Web?Quel problème les sessions PHP résolvent-elles dans le développement Web?May 03, 2025 am 12:02 AM

PhpSessionsSsolvetheproblemOf-MainainingStateCrossMultiplehttprequestsByStoringDataontheserverAndassociatingitwithauniquesessionId.1) ils storentaserver, généralement infilesordatabases, et de lasse de lastoredinacookietatevevedata.2)

Quelles données peuvent être stockées dans une session PHP?Quelles données peuvent être stockées dans une session PHP?May 02, 2025 am 12:17 AM

PhpSessionsCanstorestrings, Numbers, Arrays, Andobject.1.Strings: TextDatalikeUserames.2.Numbers: IntegersorFloatsForCounters.3.arrays: listslikeshoppingcarts.4.Objects: complexestructuresthataReSerialized.

Comment démarrez-vous une session PHP?Comment démarrez-vous une session PHP?May 02, 2025 am 12:16 AM

TostartaphpSession, usessession_start () aTTheScript'sbeginning.1) PlaceItBeForeanyOutputToSetTheSessionCooKie.2) USESSIONSFORUSERDATALIKELOGINSTATUSORSHOPPINGSCARS.3) RegegeraSesessionIdStopreventfixationAtTACKS.4)

Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?Qu'est-ce que la régénération des sessions et comment améliore-t-elle la sécurité?May 02, 2025 am 12:15 AM

La régénération de session fait référence à la génération d'un nouvel ID de session et à l'invalidation de l'ancien ID lorsque l'utilisateur effectue des opérations sensibles en cas d'attaques fixes de session. Les étapes de mise en œuvre incluent: 1. Détectez les opérations sensibles, 2. Générer un nouvel ID de session, 3. Détruiser l'ancien ID de session, 4. Mettre à jour les informations de session côté utilisateur.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP